[TOC] 1. 前期預備知識 1.1 串口通訊電路圖 ![image_1bqjjhr9leo112efe02df51fp.png 25kB][1] 從上圖可見,CC2530晶元通過P0埠的P0.1和P0.2引腳進行串口通訊。這個實驗當中對於埠的操作也主要就是P0埠。 1.2 實驗相關寄存器 ...
目錄
1. 前期預備知識
1.1 串口通訊電路圖
從上圖可見,CC2530晶元通過P0埠的P0.1和P0.2引腳進行串口通訊。這個實驗當中對於埠的操作也主要就是P0埠。
1.2 實驗相關寄存器
寄存器名稱 | 作用 | 寄存器描述 |
---|---|---|
U0CSR (0x86) | USART 0控制和狀態 | bit7:USART模式選擇 0:SPI模式;1:UART模式 bit6:UART接收器使能 0:禁用接收器;1:接收器使能 bit5:SP主或從模式選擇 0:SPI主模式;1:SPI從模式 bit4:UART幀錯誤狀態 0: 無幀錯誤檢測;1: 位元組收到不正確停止位級別 bit3:UART奇偶錯誤狀態 0: 無奇偶錯誤檢測;1: 位元組收到奇偶錯誤 bit2:接收位元組狀態 0: 沒有收到位元組;1: 準備好接收位元組 bit1 :傳送位元組狀態 0:位元組沒有被傳送;1:寫到數據緩存寄存器的最後位元組被傳送 bit0:USART傳送/接收主動狀態、在SPI從模式下該位等於從模式選擇 0: USART空閑;1: 在傳送或者接收模式USART忙碌; |
U0GCR (0xC5) | USART0 通用控制 | Bit[7] CPOL SPI 的時鐘極性 0: 負時鐘極性 1: 正時鐘極性 Bit[6] CPHA SPI 時鐘相位 0: 當SCK 從CPOL 倒置到CPOL 時數據輸出到MOSI, 並且當SCK 從CPOL倒置到CPOL 時數據輸入抽樣到MISO。 1: 當SCK 從CPOL 倒置到CPOL 時數據輸出到MOSI,並且當SCK 從CPOL倒置到CPOL 時數據輸入抽樣到MISO Bit[5] ORDER 傳送位順序 0: LSB 先傳送 1: MSB 先傳送 Bit[4:0] BAUD_E 波特率指數值。BAUD_E 和 BAUD_M 決定了UART 波特率和SPI 的主SCK 時鐘頻率 |
U0BAUD (0xC2) | USART 0 波特率控制 | BAUD_M[7:0] 波特率小數部分的值。BAUD_E和BAUD_M決定了UART的波特率和SPI的主SCK時鐘頻率 |
U0DBUF | USART 0接收/發送數據緩存 | |
UTX0IF(發送中斷標誌) | IRCON2 Bit1 | USART 0 TX中斷標誌0: 無中斷未決 1: 中斷未決 |
CLKCONCMD | 時鐘控制命令 | Bit[7] OSC32K 32 kHz 時鐘振蕩器選擇0 : 32 kHz XOSC 1 : 32 kHz RCOSC Bit[6] OSC 系統時鐘源選擇0 : 32 MHz XOSC1 : 16 MHz RCOSC Bit[5:3] TICKSPD 定時器標記輸出設置 000 :32 MHz 001 :16 MHz 010 :8 MHz 011 :4 MHz 100 :2 MHz 101 :1 MHz 110 :500 kHz 111 :250 kHz Bit[2:0] CLKSPD 時鐘速度 000 :32 MHz 001 :16 MHz 010 :8 MHz 011 :4 MHz 100 :2 MHz 101 :1 MHz 110 :500 kHz 111 :250 kHz |
CLKCONSTA | CLKCONSTA寄存器是一個只讀寄存器,用來獲得當前時鐘狀態 |
1.2 常用波特率設置
由寄存器 UxBAUD.BAUD_M[7:0]和 UxGCR.BAUD_E[4:0]定義波特率。該波特率用於 UART 傳送,也用於 SPI 傳送的串列時鐘速率。波特率由下式給出:
F 是系統時鐘頻率,等於 16 MHz RCOSC 或者 32 MHz XOSC。 32 MHz 系統時鐘常用的波特率設置:
波特率(bps) | UxBAUD.BAUD_M | UxGCR.BAUD_E | 誤差(%) |
---|---|---|---|
2400 | 59 | 6 | 0.14 |
4800 | 59 | 7 | 0.14 |
9600 | 59 | 8 | 0.14 |
14400 | 216 | 8 | 0.03 |
19200 | 59 | 9 | 0.14 |
28800 | 216 | 9 | 0.03 |
38400 | 59 | 10 | 0.14 |
57600 | 216 | 10 | 0.03 |
76800 | 59 | 11 | 0.14 |
115200 | 216 | 11 | 0.03 |
230400 | 216 | 12 | 0.03 |