串口應用的基本流程


串口簡介

串口是計算機領域最簡單的通信接口,也是使用最廣泛的通信接口。雖然現在PC主機上已經很少看到,但在嵌入式領域中通常是必備接口。在實際應用中,由於電氣特性不同,串口有多種應用方式,如TTL電平、標準RS-232電平、RS-422差分電平等,但對軟件編程基本沒有影響。

在UNIX下串口設備在操作系統中使用ttySn來表示,即串口是作爲一個終端設備來管理的。之所以如此是因爲在早期,用戶接入一個UNIX系統都是通過RS-232連接到一個終端上的,終端由鍵盤和CRT顯示器組成,能夠顯示字符,而且在某些情況下也可以顯示基本圖形。並且串口還曾被用來連接其他設備如打印機。雖然到今天這些應用已經成爲歷史,但在軟件上對串口編程的影響被保留了下來。

串口作爲SylixOS一個標準設備文件,可以使用標準文件函數來操作。其中波特率,數據位等參數配置是通過ioctl函數來操作的,爲了使用方便,又進一步封裝串口的ioctl操作得到termios函數集,感興趣的可以到base\libsylixos\SylixOS\system\device\ty\termios.c文件中查看源碼。

SylixOS系統符合POSIX編程規範,因此在SylixOS下對串口的編程也可以使用POSIX編程規範規定的接口操作串口。在類UNIX的操作系統中如Linux、QNX等均支持POSIX編程。對POSIX接口下的串口通信編程,如果要深入瞭解可以參考《Serial Programming Guide for POSIX Operating Systems》文檔,但對實際應用來講,本章所講述內容已經基本夠用。


操作流程

串口應用的基本流程爲:
1. 使用 open 函數打開串口設備,串口設備常用/dev/ttyS*表示;
2. 使用 ioctl 函數設置串口的波特率、數據位、停止位、校驗等;
3. 使用read/write 函數對串口進行讀寫操作;
4. 串口使用完畢後,使用 close 函數關閉設備。


常用配置

在打開串口之後,讀寫串口之前需要設置串口的通信參數,一般需要設置的內容有:

  • 波特率:常用設置115200,常用的還有38400、9600、4800等;
  • 數據位:常用設置8 bits;
  • 停止位:常用設置1 bit;
  • 校驗位:常用設置none;
  • 流控制:常用設置none。

應用源碼

sylixos下串口應用源碼見《應用層使用uart設備》《符合POSIX標準的UART應用例程》
這兩個例程都是一個基本的演示例程,功能是當串口接收到外部輸入數據後,會通過本串口再原樣發出。區別在於一個是sylixos標準的串口設備調用,一個是POSIX 標準的串口設備調用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章