linux 串口数据丢失 接收不到0x11
来源:互联网 发布:吉利知豆d2s缺点 编辑:程序博客网 时间:2024/06/06 01:20
linux 串口接收不到0x11
网上许多流行的linux串口编程的版本中都没对c_iflag(termios成员变量)这个变量进行有效的设置,这样传送ASCII码时没什么问题,但传送二进制数据时遇到0x0d,0x11和0x13却会被丢掉。不用说也知道,这几个肯定是特殊字符,被用作特殊控制了。关掉ICRNL和IXON选项即可解决。
c_iflag &= ~(ICRNL | IXON);
0x0d 回车符CR
0x11 ^Q VSTART字符
0x13 ^S VSTOP字符
ICRNL 将输入的CR转换为NL
IXON 使起动/停止输出控制流起作用
在《UNIX环境高级编程第二版》第18章第11小节看到把终端I/O设置为原始模式(串口通讯就是终端I/O的原始模式)时输入属性设置为
term.c_iflag &= ~(BRKINT | ICRNL | INPCK | ISTRIP | IXON);
屏蔽了许多属性,怪不得有人说如果是使用串口通讯c_iflag和c_oflag都设置为0就行了!
以下是我的设置的一些重要的串口属性
term.c_cflag |= CLOCAL | CREAD;
term.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG);
term.c_oflag &= ~OPOST;
term.c_iflag &= ~(BRKINT | ICRNL | INPCK | ISTRIP | IXON);
转自:http://blog.chinaunix.net/uid-27717694-id-3492291.html
0 0
- linux 串口数据丢失 接收不到0x11
- linux串口接收不到0x11解决
- linux 串口接收不到0x11
- linux 串口接收不到0x11、0x13、0x0d
- linux 串口接收不到0x11, 0x0d, 0x13
- linux串口接收不到0x0d|0x11|0x13解决
- 串口通信----串口接收框接收不到数据
- Linux 串口接收数据
- 解决SerialPort串口编程接收数据丢失
- Linux串口通信中一种接收不到数据的问题的解决
- Linux串口通信中一种接收不到数据的问题的解决
- Linux系统下串口接收数据,部分特殊字符丢失的解决方法
- Linux系统下串口接收数据,部分特殊字符丢失的解决方法 .
- VMware虚拟机接收不到串口
- Linux系统串口接收数据编程
- Linux系统串口接收数据编程
- Linux系统串口接收数据编程
- Linux系统串口接收数据编程
- leetcode: construct Binary Tree from Preorder and Inorder Traversal
- BZOJ1324【最小割】
- MySQL配置文件查看
- Tomcat 用户配置
- 用读写文件方式实现通讯录
- linux 串口数据丢失 接收不到0x11
- Android设置自定义录视频宽高比
- Tomcat设置网站别名
- fork/join框架
- 从一个实例中学习DTW算法
- 20150408参赛总结
- 我眼里的正则表达式(入门)
- Makefile文件生成
- 利用拼接字符串的方式来写一个简化版的后台网站(推荐初学者进)