Microchip 的 PIC24FJ064GA008 內置有 2個通用非同步收發器(Universal Asynchronous Receiver Transmitter,UART),即 UART 是非同步串列通信口的總稱,它包括了 RS232、RS499、RS423、RS422 和 RS485 等介面標準規範和匯流排匯流排的供應商標準規範。UART 是用於控制電腦與串列設備的晶片,是一個用來進行資料交換和跟蹤的兩個引腳 UART,它為現場編程解決方案提供了一個理想的工具。
PIC24FJ64GA008 MCU UART 簡化框圖 |
UART 模組的主要特性有:
• 通過 UxTX 和 UxRX 引腳進行全雙工 8位或 9位資料傳輸
• 偶、奇或無奇偶校驗選項(對於 8位元資料)
• 一或兩個停止位
• 硬體自動串列傳輸速率特性•通過 UxCTS 和 UxRTS 引腳支援硬體流控制選項
• 完全集成的具有16位預分頻器的串列傳輸速率發生器(Baud Rate Generator)
• 16 MIPS 時,串列傳輸速率範圍為 1 Mbps 到 15 bps
• 4級深度先進先出(First-In-First-Out,FIFO)發送資料緩衝器
• 4級深度 FIFO 接收資料緩衝器•奇偶校驗、幀和緩衝器溢出錯誤檢測
• 支援帶位址檢測的 9位元模式(第 9位元 = 1)
• 發送和接收中斷
• 用於診斷支援的環回(Loopback)模式
• IrDA 編碼器和解碼器邏輯
• LIN 1.2 協定支援•用於支援 IrDA 編碼器/解碼器的 16倍頻串列傳輸速率時鐘輸出
1‧UxMode:UARTx 模式寄存器
PIC24FJ64GA008 MCU UxMode:UARTx 模式寄存器 |
PIC24FJ64GA008
MCU UxMode:UARTx 模式寄存器:
bit
|
Description
|
bit 15
|
UARTEN:UARTx 使能位
1=UARTx 使能;UEN<1:0>1:0> 和 UTXEN 控制位定義了 UARTx 如何控制 UARTx 引腳。
0=UARTx 禁止;UARTx 引腳由相應的 PORT、LAT 和 TRIS 位控制。
|
bit 14
|
UFRZ:調試模式停止位元
1=模擬器處於調試模式時,模組停止工作
0=模擬器處於調試模式時,模組繼續工作
|
bit 13
|
USIDL:空閒模式停止位元
1=器件進入空閒模式後停止工作
0=處於空閒模式時繼續工作
|
bit 12
|
IREN:IrDA 編碼器和解碼器使能位
1=IrDA 編碼器和解碼器使能
0=IrDA 編碼器和解碼器禁止
|
bit 11
|
RTSMD:UxRTS 引腳模式選擇位元
1=UxRTS 處於單工(Simplex)模式
0=UxRTS 處於流控制模式
|
bit10
|
ALTIO:UARTx 備用 I/O 選擇位(1)
1=UART 通過 UxATX 和 UxARX I/O 引腳通信
0=UARTx 通過 UxTX 和 UxRX I/O 引腳通信
|
bit 9-8
|
UEN<1:0>1:0>:UARTx 使能位
11=使能並使用 UxTX、UxRX 和 BCLKx 引腳;UxCTS 引腳由埠鎖存器控制
10=使能並使用 UxTX、UxRX、UxCTS 和 UxRTS 引腳
01=使能並使用 UxTX、UxRX 和 UxRTS 引腳;UxCTS 引腳由埠鎖存器控制
00=使能並使用 UxTX 和 UxRX 和引腳;UxCTS、UxRTS 和 BCLKx 引腳由埠鎖存器控制
|
bit 7
|
WAKE:在休眠模式期間檢測到啟動位元喚醒使能位
1=使能喚醒
0=禁止喚醒
|
bit 6
|
LPBACK:UARTx 環回模式選擇位元
1=使能環回模式
0=禁止環回模式
|
bit 5
|
ABAUD:自動串列傳輸速率使能位
1=在下一個字元使能串列傳輸速率檢測。需要收到“同步”欄位(55h);完成時由硬體清零。
0=禁止串列傳輸速率檢測或檢測已完成
|
bit 4
|
RXINV:接收奇偶校驗翻轉位
1 = UxRX 空閒狀態為0
0 = UxRX 空閒狀態為1
|
bit 3
|
BRGH:高串列傳輸速率選擇位
1 = 高速
0 = 低速
|
bit 2-1
|
PDSEL<1:0>1:0>:奇偶校驗和資料選擇位元
11 = 9位元資料,無奇偶校驗
10 = 8位元資料,奇校驗
01 = 8位元資料,偶校驗
00 = 8位元資料,無奇偶校驗
|
bit 0
|
STSEL:停止選擇位
1 = 2個停止位
0 = 1個停止位
|
2‧UxSTA:UARTx 狀態和控制寄存器
PIC24FJ64GA008 MCU UxSTA:UARTx 狀態和控制寄存器 |
PIC24FJ64GA008
MCU UxSTA:UARTx 狀態和控制寄存器:
bit
|
Description
|
bit 15,13
|
UTXISEL<1:0> 1:0>發送中斷模式選擇位元
11 =保留
10 =當一個字元被傳輸到發送移位寄存器並且發送緩衝器變為空時,產生中斷
01 =當最後一次發送完成(最後一個字元移出發送移位寄存器)且所有的發送操作均完成時,產生中斷
00 =當任意字元被傳輸到發送移位寄存器時產生中斷(這意味著在發送緩衝器中至少有一個單元為空)
|
bit 14
|
UTXINV:發送奇偶校驗翻轉位
IREN = 0:1 = UxTX 空閒狀態為1
0 = UxTX空閒狀態為0
IREN = 1:1= IrDA 編碼 UxTX 空閒狀態為1
0= IrDA 編碼 UxTX 空閒狀態為0
|
bit 12
|
未實現:讀為0
|
bit 11
|
UTXBRK:發送間隔位
1 = 無論發送狀態如何,都將 UxTX 引腳驅動為低電平(同步間隔發送——啟動位後跟隨12個 0,之後跟隨 1個停止位)
0 = 同步間隔發送被禁止或已完成
|
bit 10
|
UTXEN:發送使能位
1= UARTx 發送器使能,UARTx 控制 UxTX 引腳(如果UARTEN = 1)
0= UARTx 發送器禁止,中止所有等待的發送,緩衝器復位。PORT 控制 UxTX 引腳。
|
bit 9
|
UTXBF:發送緩衝器滿狀態位元(唯讀)
1 = 發送緩衝器已滿
0 = 發送緩衝器未滿,可以寫入至少一個或多個資料字
|
bit 8
|
TRMT:發送移位寄存器空位(唯讀)
1 = 發送移位寄存器為空,同時發送緩衝器為空(上一個發送已經完成)
0 = 發送移位寄存器非空,發送在進行中或在發送緩衝器中排隊
|
bit 7-6
|
URXISEL<1:0>1:0>:接收中斷模式選擇位元
11 = 接收緩衝器滿時(即,有4個資料字元),中斷標誌位置1
10 = 接收緩衝器3/4滿時(即,有3個資料字元),中斷標誌位置1
0x = 當接收到一個字元時,中斷標誌位置1
|
bit 5
|
ADDEN:位址字元檢測位元(接收資料的第 8位元 = 1)
1 = 位址檢測模式使能。如果沒有選擇 9位元模式,該控制位元無效。
0 = 位址檢測模式禁止
|
bit 4
|
RIDLE:接收器空閒位(唯讀)
1 = 接收器空閒
0 = 正在接收資料
|
bit 3
|
PERR:奇偶校驗錯誤狀態位元(唯讀)
1 = 檢測到當前字元的奇偶校驗錯誤
0 = 未檢測到奇偶校驗錯誤
|
bit 2
|
FERR:幀錯誤狀態位元(唯讀)
1 = 檢測到當前字元的幀錯誤
0 = 未檢測到幀錯誤
|
bit 1
|
OERR:接收緩衝器溢出錯誤狀態位元(清零/唯讀)
1 =接收緩衝器溢出
0 =接收緩衝器未溢出(清零先前置1的 OERR 位會將接收緩衝器和 RSR
重定為空狀態)
|
bit 0
|
URXDA:接收緩衝器是否有資料位元(唯讀)
1 = 接收緩衝器中有資料,有至少一個或多個字元可讀
0 = 接收緩衝器為空
|
3‧UxRXREG:UARTx 接收寄存器
PIC24FJ64GA008 MCU UxRXREG:UARTx 接收寄存器 |
PIC24FJ64GA008
MCU UxRXREG:UARTx 接收寄存器:
bit
|
Description
|
bit 15-9
|
未實現:讀為0
|
bit 8
|
URX8:接收到字元的第 8個資料位元(在9位元模式下)
|
bit 7-0
|
URX<7:0>7:0>:接收到字元的第 7-0 個資料位元
|
PIC24FJ64GA008 MCU UxTXREG:UARTx 發送寄存器 |
PIC24FJ64GA008
MCU UxTXREG:UARTx 發送寄存器:
bit
|
Description
|
bit 15-9
|
未實現:讀為0
|
bit 8
|
UTX8:已發送字元的第 8個資料位元(在 9位元模式下)
|
bit 7-0
|
UTX<7:0>7:0>:已發送字元的第 7-0 個資料位元
|
PIC24FJ64GA008 MCU UxBRG:UARTx 波特率寄存器 |
PIC24FJ64GA008
MCU UxBRG:UARTx 波特率寄存器:
bit
|
Description
|
bit 15-0
|
BRG<15:0>15:0>:波特率除數位
|
PIC24FJ64GA008 MCU UART 模塊相關的寄存器 |
2016年 8月 1日 天氣報告
氣溫:32.1度 @ 19:10
相對濕度:百分之 60%
天氣:微雨※ 天文台在下午 8時 40分發出八號熱帶氣旋警告信號,颱風妮妲位置為北緯 21.7度,東經 116.4度附近,接近中心最高持續風速為每小時 130公里。
沒有留言:
張貼留言