資料介紹
6.4.1 串口概述
常見的數據通信的基本方式可分為并行通信與串行通信兩種。
n 并行通信是指利用多條數據傳輸線將一個字數據的各比特位同時傳送。它的特點是傳輸速度快,適用于傳輸距離短且傳輸速度較高的通信。
n 串行通信是指利用一條傳輸線將數據以比特位為單位順序傳送。特點是通信線路簡單,利用簡單的線纜就可實現通信,降低成本,適用于傳輸距離長且傳輸速度較慢的通信。
串口是計算機一種常用的接口,常用的串口有RS-232-C接口。它是于1970年由美國電子工業協會(EIA)聯合貝爾系統、調制解調器廠家及計算機終端生產廠家共同制定的用于串行通信的標準,它的全稱是“數據終端設備(DTE)和數據通信設備(DCE)之間串行二進制數據交換接口技術標準”。該標準規定采用一個DB25芯引腳的連接器或9芯引腳的連接器,其中25芯引腳的連接器如圖6.3所示。
圖6.3 25引腳串行接口圖
S3C2410X內部具有兩個獨立的UART控制器,每個控制器都可以工作在Interrupt(中斷)模式或者DMA(直接存儲訪問)模式。同時,每個UART均具有16字節的FIFO(先入先出寄存器),支持的最高波特率可達到230.4Kbps。UART的操作主要可分為以下幾個部分:數據發送、數據接收、產生中斷、設置波特率、Loopback模式、紅外模式以及硬軟流控模式。
串口參數的配置讀者在配置超級終端和minicom時也已經接觸過,一般包括波特率、起始位比特數、數據位比特數、停止位比特數和流控模式。在此,可以將其配置為波特率115200、起始位1b、數據位8b、停止位1b和無流控模式。
在Linux中,所有的設備文件一般都位于“/dev”下,其中串口1和串口2對應的設備名依次為“/dev/ttyS0”和“/dev/ttyS1”,而且USB轉串口的設備名通常為“/dev/ttyUSB0”和“/dev/ttyUSB1”(因版本不同該設備名會有所不同),可以查看在“/dev”下的文件以確認。在本章中已經提到過,在Linux下對設備的操作方法與對文件的操作方法是一樣的,因此,對串口的讀寫就可以使用簡單的read()、write()函數來完成,所不同的只是需要對串口的其他參數另做配置,下面就來詳細講解串口應用開發的步驟。
6.4.2 串口設置詳解
串口的設置主要是設置struct termios結構體的各成員值,如下所示:
#include《termios.h》
struct termios
{
unsigned short c_iflag; /* 輸入模式標志 */
unsigned short c_oflag; /* 輸出模式標志 */
unsigned short c_cflag; /* 控制模式標志*/
unsigned short c_lflag; /* 本地模式標志 */
unsigned char c_line; /* 線路規程 */
unsigned char c_cc[NCC]; /* 控制特性 */
speed_t c_ispeed; /* 輸入速度 */
speed_t c_ospeed; /* 輸出速度 */
};
termios是在POSIX規范中定義的標準接口,表示終端設備(包括虛擬終端、串口等)。口是一種終端設備,一般通過終端編程接口對其進行配置和控制。在具體講解串口相關編程之前,先了解一下終端相關知識。
終端有3種工作模式,分別為規范模式(canonical mode)、非規范模式(non-canonical mode)和原始模式(raw mode)。
通過在termios結構的c_lflag中設置ICANNON標志來定義終端是以規范模式(設置ICANNON標志)還是以非規范模式(清除ICANNON標志)工作,默認情況為規范模式。
在規范模式下,所有的輸入是基于行進行處理。在用戶輸入一個行結束符(回車符、EOF等)之前,系統調用read()函數讀不到用戶輸入的任何字符。除了EOF之外的行結束符(回車符等)與普通字符一樣會被read()函數讀取到緩沖區之中。在規范模式中,行編輯是可行的,而且一次調用read()函數最多只能讀取一行數據。如果在read()函數中被請求讀取的數據字節數小于當前行可讀取的字節數,則read()函數只會讀取被請求的字節數,剩下的字節下次再被讀取。
常見的數據通信的基本方式可分為并行通信與串行通信兩種。
n 并行通信是指利用多條數據傳輸線將一個字數據的各比特位同時傳送。它的特點是傳輸速度快,適用于傳輸距離短且傳輸速度較高的通信。
n 串行通信是指利用一條傳輸線將數據以比特位為單位順序傳送。特點是通信線路簡單,利用簡單的線纜就可實現通信,降低成本,適用于傳輸距離長且傳輸速度較慢的通信。
串口是計算機一種常用的接口,常用的串口有RS-232-C接口。它是于1970年由美國電子工業協會(EIA)聯合貝爾系統、調制解調器廠家及計算機終端生產廠家共同制定的用于串行通信的標準,它的全稱是“數據終端設備(DTE)和數據通信設備(DCE)之間串行二進制數據交換接口技術標準”。該標準規定采用一個DB25芯引腳的連接器或9芯引腳的連接器,其中25芯引腳的連接器如圖6.3所示。
圖6.3 25引腳串行接口圖
S3C2410X內部具有兩個獨立的UART控制器,每個控制器都可以工作在Interrupt(中斷)模式或者DMA(直接存儲訪問)模式。同時,每個UART均具有16字節的FIFO(先入先出寄存器),支持的最高波特率可達到230.4Kbps。UART的操作主要可分為以下幾個部分:數據發送、數據接收、產生中斷、設置波特率、Loopback模式、紅外模式以及硬軟流控模式。
串口參數的配置讀者在配置超級終端和minicom時也已經接觸過,一般包括波特率、起始位比特數、數據位比特數、停止位比特數和流控模式。在此,可以將其配置為波特率115200、起始位1b、數據位8b、停止位1b和無流控模式。
在Linux中,所有的設備文件一般都位于“/dev”下,其中串口1和串口2對應的設備名依次為“/dev/ttyS0”和“/dev/ttyS1”,而且USB轉串口的設備名通常為“/dev/ttyUSB0”和“/dev/ttyUSB1”(因版本不同該設備名會有所不同),可以查看在“/dev”下的文件以確認。在本章中已經提到過,在Linux下對設備的操作方法與對文件的操作方法是一樣的,因此,對串口的讀寫就可以使用簡單的read()、write()函數來完成,所不同的只是需要對串口的其他參數另做配置,下面就來詳細講解串口應用開發的步驟。
6.4.2 串口設置詳解
串口的設置主要是設置struct termios結構體的各成員值,如下所示:
#include《termios.h》
struct termios
{
unsigned short c_iflag; /* 輸入模式標志 */
unsigned short c_oflag; /* 輸出模式標志 */
unsigned short c_cflag; /* 控制模式標志*/
unsigned short c_lflag; /* 本地模式標志 */
unsigned char c_line; /* 線路規程 */
unsigned char c_cc[NCC]; /* 控制特性 */
speed_t c_ispeed; /* 輸入速度 */
speed_t c_ospeed; /* 輸出速度 */
};
termios是在POSIX規范中定義的標準接口,表示終端設備(包括虛擬終端、串口等)。口是一種終端設備,一般通過終端編程接口對其進行配置和控制。在具體講解串口相關編程之前,先了解一下終端相關知識。
終端有3種工作模式,分別為規范模式(canonical mode)、非規范模式(non-canonical mode)和原始模式(raw mode)。
通過在termios結構的c_lflag中設置ICANNON標志來定義終端是以規范模式(設置ICANNON標志)還是以非規范模式(清除ICANNON標志)工作,默認情況為規范模式。
在規范模式下,所有的輸入是基于行進行處理。在用戶輸入一個行結束符(回車符、EOF等)之前,系統調用read()函數讀不到用戶輸入的任何字符。除了EOF之外的行結束符(回車符等)與普通字符一樣會被read()函數讀取到緩沖區之中。在規范模式中,行編輯是可行的,而且一次調用read()函數最多只能讀取一行數據。如果在read()函數中被請求讀取的數據字節數小于當前行可讀取的字節數,則read()函數只會讀取被請求的字節數,剩下的字節下次再被讀取。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 視頻教程-嵌入式Linux文件與串口編程-嵌入式
- 嵌入式linux串口編程
- 嵌入式Linux開發工具——shell編程
- Linux環境編程:從應用到內核 16次下載
- Visual C串口通信技術與編程實踐 27次下載
- Linux下C語言編程入門教程詳細說明 39次下載
- Linux教程之Linux命令、編程器、Shell編程、實例大全pdf免費下載 20次下載
- LINUX系統教程之如何在Linux系統下進行編程 9次下載
- Linux操作系統實用教程之如何進行Linux系統下的編程管理 5次下載
- Linux操作系統下C語言編程入門.pdf 95次下載
- 最詳盡的——解析串口通信數據 2次下載
- 串口編程參考資料 linux環境下的 8次下載
- Linux下串口編程入門 0次下載
- Linux下串口編程下載 108次下載
- 串口通訊編程實踐電子書 0次下載
- 嵌入式開發:映射表在串口數據解析中的應用 348次閱讀
- C語言映射表在串口數據解析中的應用 383次閱讀
- Linux系統編程有哪些優勢 1224次閱讀
- 英創信息技術嵌入式Linux串口通訊的C++設計概述 2180次閱讀
- 51單片機串口通訊編程的方式解析 3269次閱讀
- 工業機器人主流離線編程軟件解析 3386次閱讀
- Apollo與GPS串口通信的數據格式 6313次閱讀
- 基于嵌入式linux系統下的串口編程具體設置詳解 6843次閱讀
- 關于Linux下多線程編程技術學習總結 2135次閱讀
- linux串口通信編程 2478次閱讀
- java串口通信編程實例 2.4w次閱讀
- labview串口數據解析 5.8w次閱讀
- python串口編程實例 4.6w次閱讀
- Linux下ARM 和單片機的串口通信設計 3431次閱讀
- 基于Linux的ARM/單片機串口通信設計 2795次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統的設計與實現
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機開發板設計
- 0.70 MB | 2次下載 | 免費
- 751單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機的RGB調色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多