1、串口通信簡介
串口通信指串口按位(bit)發送和接收字節,串口通信的概念非常簡單,串口按位(bit)發送和接收字節。盡管比按字節(byte)的并行通信慢,但是串口可以在使用一根線發送數據的同時用另一根線 接收數據。它很簡單并且能夠實現遠距離通信。比如IEEE488定義并行通行狀態時,規定設備線總長不得超過20米,并且任意兩個設備間的長度不得超過2 米;而對于串口而言,長度可達1200米。
串口通信所采用的通信協議為RS-232,RS-232通信方式允許簡單連接三線:Tx、Rx和地線。但是對于數據傳輸,雙方必須對數據定時采用使用相同的波特率。RS-232(ANSI/EIA-232標準)是IBM-PC及其兼容機上的串行連接標準??捎糜谠S多用途,比如連接鼠標、打印機或者Modem,同時也 可以接工業儀器儀表。用于驅動和連線的改進,實際應用中RS-232的傳輸長度或者速度常常超過標準的值。RS-232只限于PC串口和設備間點對點的通信。
2、串口的通信基本模型如下圖所示:
TXD:發送數據
RXD:接收數據
GND:地線
串口驅動跟其他外設的驅動配置流程差不多,大概分為如下幾步:
(1)查看電路圖,配置相應的gpio功能引腳
(3)測試串口接收、發送
今天用的是第一個串口com0,下面是電路圖:
找到相應的gpio功能引腳
下面是串口工作的整個模式圖:
下面是串口控制器相應的寄存器:
今天我們實驗用到的幾個主要的寄存器是:
ULCON0:數據格式控制寄存器(配置數據位,停止位,校驗位等);
UCON0:串口控制開關
UTXH0:發送數據
URXH0:接收數據
UTRSTAT0:數據收發狀態寄存器
UBRDIV0,UFRACVAL0:配置波特率的
經過計算uart所采用的SCLK_UART為100M
UBRDIV0=(100000000)/(115200 x16) - 1 = 53.3=53=0x35;
UFRACVAL0= 4;
-
電路圖
+關注
關注
10288文章
10707瀏覽量
523861 -
寄存器
+關注
關注
31文章
5250瀏覽量
119199 -
RS-232
+關注
關注
0文章
382瀏覽量
49646 -
串口驅動
+關注
關注
2文章
81瀏覽量
18501 -
串口控制器
+關注
關注
0文章
1瀏覽量
970
發布評論請先 登錄
相關推薦
評論