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