實驗準備
1 配置zigbee cc2530 時鐘
時鐘樹
zigBee 序列槽實驗初始化 筆記1 配置zigbee cc2530 時鐘2 USART外設的I/O口配置3 配置USART方式為 UART方式4 配置波特率清除序列槽介紹标志位 裝置有一個内部系統時鐘或主時鐘。
裝置的系統時鐘源可以采用16MHZ 的RC振蕩器,也可采用32MHZ的晶體振蕩器。
CLKCONCMD.OSC 位選擇 主系統時鐘的源。
但是改變CLKCONCMD.OSC不會立即改變系統時鐘,需要等待一段時間。
當 CLKCONSTA.OSC = CLKCONCMD.OSC 的時, 時鐘改變生效
CLKCONCMD寄存器
zigBee 序列槽實驗初始化 筆記1 配置zigbee cc2530 時鐘2 USART外設的I/O口配置3 配置USART方式為 UART方式4 配置波特率清除序列槽介紹标志位 CLKCONSTA 寄存器
zigBee 序列槽實驗初始化 筆記1 配置zigbee cc2530 時鐘2 USART外設的I/O口配置3 配置USART方式為 UART方式4 配置波特率清除序列槽介紹标志位 時鐘配置代碼:
CLKCONCMD &= ~0x40;//設定 CLKCONCMD第6位OSC振蕩器,為0
while(CLKCONSTA & 0x40);//判斷CLKCONSTA第6位OSC是否為1
CLKCONCMD &= ~0x47;//設定時鐘頻率,~0x47 = 1011 1000,後三位置0 ,後三位控制CLKSPD = 000,32MHZ
2 USART外設的I/O口配置
PERCFG寄存器
zigBee 序列槽實驗初始化 筆記1 配置zigbee cc2530 時鐘2 USART外設的I/O口配置3 配置USART方式為 UART方式4 配置波特率清除序列槽介紹标志位 P0SEL 寄存器
zigBee 序列槽實驗初始化 筆記1 配置zigbee cc2530 時鐘2 USART外設的I/O口配置3 配置USART方式為 UART方式4 配置波特率清除序列槽介紹标志位 P2DIR 寄存器
因為會有多個i/o外設映射在同一引腳上,産生i/o映射沖突,通過配置優先級(P2DIR.PRIP0 位)可以解決沖突
zigBee 序列槽實驗初始化 筆記1 配置zigbee cc2530 時鐘2 USART外設的I/O口配置3 配置USART方式為 UART方式4 配置波特率清除序列槽介紹标志位 代碼:
P2DIR &= ~0XC0;//P0優先作為UART0
PERCFG = 0x00;//USART I/O位置使用備用位置1,P0_2,P0_3
P0SEL = 0x3C;//P0_2,P0_3,P0_4,P0_5,用作外設,作為序列槽
3 配置USART方式為 UART方式
U0CSR 寄存器
zigBee 序列槽實驗初始化 筆記1 配置zigbee cc2530 時鐘2 USART外設的I/O口配置3 配置USART方式為 UART方式4 配置波特率清除序列槽介紹标志位 代碼:
U0CSR |= 0x80;//置第7位為1,USART模式設定為UART模式
4 配置波特率
U0GCR寄存器
zigBee 序列槽實驗初始化 筆記1 配置zigbee cc2530 時鐘2 USART外設的I/O口配置3 配置USART方式為 UART方式4 配置波特率清除序列槽介紹标志位 U0BAUD 寄存器
zigBee 序列槽實驗初始化 筆記1 配置zigbee cc2530 時鐘2 USART外設的I/O口配置3 配置USART方式為 UART方式4 配置波特率清除序列槽介紹标志位 代碼:
U0GCR |= 10;
U0BAUD |= 59;//波波特率設定 38400
清除序列槽介紹标志位
中斷标志:
zigBee 序列槽實驗初始化 筆記1 配置zigbee cc2530 時鐘2 USART外設的I/O口配置3 配置USART方式為 UART方式4 配置波特率清除序列槽介紹标志位
zigBee 序列槽實驗初始化 筆記1 配置zigbee cc2530 時鐘2 USART外設的I/O口配置3 配置USART方式為 UART方式4 配置波特率清除序列槽介紹标志位
zigBee 序列槽實驗初始化 筆記1 配置zigbee cc2530 時鐘2 USART外設的I/O口配置3 配置USART方式為 UART方式4 配置波特率清除序列槽介紹标志位 代碼:
UTX0IF = 0;//中斷标志位初始置為0.