天天看點

CC2530學習路線-基礎實驗-序列槽通訊發送字元串(4 未完待續)

目錄

  • 1. 前期預備知識
    • 1.1 序列槽通訊電路圖
    • 1.2 實驗相關寄存器
    • 1.2 常用波特率設定

CC2530學習路線-基礎實驗-序列槽通訊發送字元串(4 未完待續)

從上圖可見,CC2530晶片通過P0端口的P0.1和P0.2引腳進行序列槽通訊。這個實驗當中對于端口的操作也主要就是P0端口。

寄存器名稱 作用 寄存器描述
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寄存器是一個隻讀寄存器,用來獲得目前時鐘狀态

由寄存器 UxBAUD.BAUD_M[7:0]和 UxGCR.BAUD_E[4:0]定義波特率。該波特率用于 UART 傳送,也用于 SPI 傳送的串行時鐘速率。波特率由下式給出:

CC2530學習路線-基礎實驗-序列槽通訊發送字元串(4 未完待續)

F 是系統時鐘頻率,等于 16 MHz RCOSC 或者 32 MHz XOSC。 32 MHz 系統時鐘常用的波特率設定:

波特率(bps) UxBAUD.BAUD_M UxGCR.BAUD_E 誤差(%)
2400 59 6 0.14
4800 7
9600 8
14400 216 0.03
19200 9
28800
38400 10
57600
76800 11
115200
230400 12

本章未完待續..... 原來寫的文章已經丢失了,隻能找到這一小部分,看什麼時候有時間再補上。

繼續閱讀