请教linux下串口编程的几个问题,高手相助

请教linux下串口编程的几个问题,高手相助,第1张

串口,中断设定一般控制这几个参数就可以了:

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口


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8287327.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存