UART寄存器介紹

UARTn_BR: UART波特率寄存器
UARTn_BR[15:0]: 由定時器的裝入寄存器定時裝入相應內容。
                UARTn_CR.Run=0可以裝入直到UARTn_CR.Run=1才寫入無效
               
UARTn_TxBUFR:UART傳輸寄存器
UARTn_TxBUFR[8]: 傳輸數據第八位或者奇偶校驗位或者喚醒位或者未定義的位有相應操作模式決定
     1.如果是001模式則此位寫0
     2.如果是8+校驗111模式則此位由UART自己處理寫入 軟件操作無效
UARTn_TxBUFR[7]: 傳輸數據第七位或者奇偶校驗位
     1.如果是7+校驗011模式同樣此位由UART自己處理寫入 軟件操作無效
UARTn_TxBUFR[6:0]:數據位


UARTn_RxBuffer: UART接收寄存器
RX[9]:楨錯誤標誌1表示此楨有問題
RX[8]:接收數據位8,或者奇偶校驗位或者喚醒位
RX[7]:接收數據位7,或者奇偶校驗位
RX[6:0]:數據位

UARTn_CR:UART控制寄存器
CR[15-11]保留都是0
CR[10]FifoEnble隊列模式0關閉 表示TxFIFO認爲是包含了16位數據纔是滿棧
              1是開啓 表示TxFIFO認爲當前就是纔是滿棧直接置TxFULL位
CR[9]SCENBLE 智能卡關閉還是開啓不使用則置0
CR[8]RxEnble 接收功能關閉開啓 由下降沿來觸發RXD腳初始化
CR[7]Run=0波特率無用 =1則有用
CR[6]LoopBack=0標準的接收和發送模式 =1是特殊模式。此位只由UART無效被改變
CR[5]ParityOdd選擇奇偶校驗=0則爲偶校驗 =1爲奇校驗
CR[43]StopBits 00 0.5停止位 01是1個停止位 10是1.5個 11是2個
CR[2:0] MODE 5種模式


UARTn_IER UART的中斷允許寄存器
15-9保留位爲0
8 RxHalfFullIE 接收存儲器超過8位則置
7 TimeoutIdleIE 接收隊列無數據切超時記數爲0則置
6 TimeNotoutIdleIE 接收隊列有數據切超時記數爲0則置
5..1

UART_SR UART狀態寄存器
9 TXFULL 發送寄存器包含16個位
8 RxHalfFull 接收到超過8個位
7 TimeoutIdle RxFIFO爲空並且超時
6 TimeNotoutIdle RxFIFO不爲空並且超時
5 OverrunError數據正在接收並且接收緩衝滿
4 FramError 當接收隊列包含一個接收貞錯誤標誌
3 ParityError 當接收隊列裏包含一個檢驗錯誤
2 TxHalfEmpty 傳輸隊列一半是空
1 TxEmpty 傳輸隊列爲空


UART_GTR UART的保護髮生時間
7-0 八位時間值給用戶來定義程序傳輸爲空的探測時鐘延遲

UART_TOR UART超時機制
7-0超時裝載計數器


UART_TxRSTR 傳輸寄存器清除寄存器
UART_RxRSTR 接收寄存器清除寄存器
只寫寫入後將會清空相應的接收或者傳輸寄存器RxFIFO or TxFIFO

發佈了53 篇原創文章 · 獲贊 1 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章