超声波明渠流量计污水测量的设计与探讨 五十四
6.1.5串行通信模块
同所有的设备一样,本系统也是通过设备文件来访问串口的,即在访问时打开相应设备文件。本系统中只使用了UART来进行通信,串行接口UART对应设备文件
/dev/ttyS,编写串口通信程序主要分为以下部分:
1.打开串口
打开串口通过用标准的文件打开函数操作,这里打开串口l:
openoi函数的第一个参数指定要打开的设备名,参数2设定打开方式;0 RDWR代
表可读可写;0一NOCTTY指定打开的睾121 0不用于终端控制,只用于宰行通信,这样串121不受其他输入的影响;0 NONBLOCK表示端口以非阻塞方式打开。
2.设置串口属性
1)使用tcgetattr()和tcsetattr()函数获取和设置串El属性
其中,newtio是结构termios形式的数据结构,用于存放串豳属性。
2)使用函数cfsetispeed()和cfsetospeed()设置波特率。这两个函数分别设置入
端和出口端的速率,它们也是通过改变structtermios结构来实现的。
3)设置波特率
4)设置数据流控制:
5)设置数据位
6)设置奇偶校验位
3.读写串口
成功打开串口并设置好串口属性就可以对串口进行读写操作,参数翅是要读写的串口描述符,Buff是要读写的缓冲区,Len是要读写的字节长度,nByte是读写函数返回的实际读写的字节数。
电磁流量计 超声波流量计