1。波特率 -》一般串口设置成115200 ,你的终端可以输出讯息,这个参数应该没问题
2。奇偶校验 -》一般关闭
3。流控 -》 一般关闭
4。停止位 -》一般设置为无
5。有时候要设置数据位 -》8位
我一直是这么用的,目前还没出过什么问题 。
这是基本的C语言哈。|= 就是“或等于”,跟 += 是一个道理,按位或你肯定知道哈。
1. newtio.c_cflag |=PARENB 相当于 newtio.c_cflag = netwtio.c_cflag | PARENB
意思就是netwtio.c_cflag 或 上 PARENB 的结果赋给netwtio.c_cflag
2. |=的含义跟上面相同, ~的含义是按位取反
newtio.c_cflag |=~PARENB 相当于 newtio.c_cflag = netwtio.c_flag | (~PARENB)
RS232是全双工,可以同时收发,RS485是半双工,不能同时收发。它需要两个口线来控制当前通信是收还是发。收发的程序与232串口通信的程序是完全一样的,只要注意在收发前,进行收发状态的转换。如果你是嵌入式linux开发,你需要为这两个口线写个简单的驱动程序。
如果你是PC机上的linux,你可以用RS232转RS485的接口模块来进行232到485的转换,这样,你的串口程序不需什么任何修改。但要注意,此种模块要利用RS232的流量控制信号来进行收发的转换,所以,它只能插在9线的RS232口中使用,而不能用于3线制的RS232口
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)