首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

救急解决方法

2012-02-12 
救急啊!学生在做GPRS实验时,GPRS是通过COM2传输后显示的。GPRS发送短信,拨打电话,接听电话都比较顺利,但是G

救急啊!
学生在做GPRS实验时,GPRS是通过COM2传输后显示的。GPRS发送短信,拨打电话,接听电话都比较顺利,但是GPRS读短信时显示有错误,ttse/0:1 input overrun(s).请高手们帮忙解决一下啊!!!

[解决办法]
需要注意的是:

如果不是开发终端之类的,只是串口传输数据,而不需要串口来处理,那么使用原始模式(Raw Mode)方式来通讯,设置方式如下: 

options.c_lflag &= ~(ICANON ECHO ECHOE ISIG); /*Input*/
options.c_oflag &= ~OPOST; /*Output*/
读写串口
设置好串口之后,读写串口就很容易了,把串口当作文件读写就是。 

发送数据 
char buffer[1024]; 
int Length; 
int nByte;
nByte = write(fd, buffer ,Length)
 


读取串口数据 
使用文件操作read函数读取,如果设置为原始模式(Raw Mode)传输数据,那么read函数返回的字符数是实际串口收到的字符数。 

可以使用操作文件的函数来实现异步读取,如fcntl,或者select等来操作。 

char buff[1024];
int Len;
int readByte = read(fd,buff,Len);
 


关闭串口
关闭串口就是关闭文件。 

close(fd);
 

热点排行