超聲波明渠流量計污水測量的設計與探討 五十四
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是讀寫函數返回的實際讀寫的字節數。
電磁流量計 超聲波流量計