串口接收标志位语句_串口编程中,如何设置标志位?

匿名用户

1级

2011-08-25 回答

你好楼主,前一阵正好研究了一下linux串口编程,苦恼了一阵,不过总算弄通了,下面说一下我的思路和理解。

struct termios state; 这是一个设计到串口属性的结构体,通过给结构体内的属性赋值来设计串口

的一些属性。

tcgetattr (STDIN_FILENO, &state); 这是获取当前的串口的属性,并赋给STDIN_FILENO这个设

备。计算机中已定义STDIN_FILENO这是一个标准输入的设

备,通常是写在屏幕上(就是在屏幕上显示)。如楼主所说

的A与B相连,可能就是从A写到B了。

=====下面是重新给串口的结构体的属性赋值,以达到自己想设计一个什么功能的串口========

state.c_iflag &= ~(ICRNL | INPCK | ISTRIP | BRKINT); c_iflag是控制输入属性的标志位,打个比

方,c_iflag原来是111,ICRNL代表001 ,ICRNL代表010,ISTRIP代表100,这三

个常量按位或ICRNL | INPCK | ISTRIP 得出的结果就是111 然后再取 ~(非)符号

得的结果就是 000。就代表最终c_iflag的值是000。然后计算机就会根据这一窜二

进制的数字来判断输入的到底是什么属性。向ICRNL 这些常量的值都是在计算机

中已经定义好的了。但是字符串的位数要比我举例子的要多,我只是说了个大概的

意思。 下面我说一下

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值