关于linux下串口编程问题
最近在做一个在linux下用c编程通过读写串口控制GSM模块收发短信和接打电话,主要存在2个问题:
1,串口是用open打开的,没有制定O_NOBLOCK, 但是打开却是非阻塞模式的,即使我用fcntl想把它设置成阻塞的却不成功,不是fcntl用法的问题,请高手分析下为啥我用fcntl设置老不起作用???为什么用open打开却是非阻塞的???
2.在非阻塞模式下,只有采用轮询的方式进行读串口,但是发现有时候有数据丢失的问题,并且数据会重复丢失(即相同的数据丢失的部分也相同),有时候数据挺正常的,这是为什么?我该怎么做?? Linux C 单片机
[解决办法]
用ioctl试试