嵌入式Linux串口通讯测试问题:
经过实验,从Linux(PC)通过串口向嵌入式Linux开发板发送数据时,串口初始化完毕后遇到回车(0x0d)或换行(0x0a)才开始从串口接收数据,回车或换行前的数据接收不到,回车或换行后的数据接收正常.从嵌入式Linux开发板通过串口向Linux(PC)发送数据,接收正常.无丢字符现象.请问这是为什么?两台Linux(PC)经过串口通讯接收正常.
-----------------------------
应该是你初始化不完整造成的.不知道你是直接端口操作还是访问的 ttySX来完成的.
-----------------------------
=============================================================================
http://bbs.linuxpk.com/thread-33570-1-1.html
我现在编写了一个
linux串口接收程序,
接收时必须在发送信息的后面附带一个
回车符,要不然它只会存在接受缓存中而不
接收,我上网搜了,说是什么行缓冲的问题,但是不知道怎么去解决啊!
------------------------------------
在
linux串口中,默认的模式下只有但backspace按下的时候,才可以把缓冲区的数据提交给进程,
linux提供了一个接口可以改变
串口的这种默认的行为,详细信息可以查看
man termios
============================================================================
http://www.lslnet.com/linux/dosc1/06/linux-137429.htm(注:这个程序就是我用的一个能够实现接收串口数据的程序,其中把信息分开接收是因为设置的最少接收的字节数的问题,可以设置成大一些的数据)
现在想用
串口接收数据,找了一个
串口程序,前一段用的每问题。现在发现了一个问题,各位高手帮忙看一下如何解决?
接受程序是这样的:(之前的初始化就不写了,肯定没问题)
char buff[512];
while((nread = read(fd,buff,10))>0)//fd是端口文件
{
printf("Len %d
",nread);
buff[nread]='