CC2530 串口配置步骤

2023年 8月 9日 25.1k 0

一、并行通信与串行通信

微控制器与外设之间的数据通信,根据连线结构和传送方式的不同,可以分为两种:并行通信和串行通信。

并行通信:指数据的各位同时发送或接收,每个数据位使用单独的一条导线。传输速度快、效率高,但需要的数据线较多,成本高。

串行通信:指数据一位接一位地顺 序发送或接收。需要的数据线少,成本低,但传输速度慢,效率低。

二、CC2530的串口通信模块

CC2530有两个串行通信接口USART0和USART1,它们能够分别运行于异步UART模式或者同步SPI模式。

两个USART接口具有相同的功能,通过PERCFG寄存器可以设置两个USART接口对应外部I/O引脚的映射关系:

位置1:RX0 --- P0_2 TX0 --- P0_3 RX1 --- P0_5 TX1 --- P0_4

位置2:RX0 --- P1_4 TX0 --- P1_5 RX1 --- P1_7 TX1 --- P1_6

对每个USART串口通信编程,本质是设置相关的5个寄存器:

UxCSR: USARTx的控制和状态寄存器。

UxUCR: USARTx的UART控制寄存器。

UxGCR: USARTx的通用控制寄存器。

UxDBUF:USARTx的接收/发送数据缓冲寄存器。

UxBAUD:USARTx的波特率控制寄存器。

三、UART口与计算机的COM口连接

先认识两种电平:TTL电平和RS232电平。

TTL电平: 逻辑0----小于0.8V 逻辑1----大于2.4V。

RS232电平: 逻辑0----515V 逻辑1---- -5-15V。

计算机的串行通信接口是RS-232的标准接口,而CC2530单片机的UART接口则是TTL电平,两者的电气规范不一致,所以要完成两者之间的数据通信,就需要借助接口芯片在两者之间进行电平转换,常用的有MAX232芯片。

img

注意:DB9接口中,公头和母头的排列顺序是不同的。

四、原理图数据手册分析

img

img

img

img

配置串口的步骤

img

img

img

img

五、代码示例

(1) 示例1: 编写串口初始化函数,实现串口字符串发送 (CPU频率在32MHZ下,波特率的为115200)

 #include
 #include
 ​
 //定义LED灯的端口
 #define LED1 P1_2
 #define LED2 P1_3
 ​
 //定义KEY按键的端口
 #define KEY1 P1_0       //定义按键为P1_0口控制
 #define KEY2 P1_1       //定义按键为P1_1口控制
 ​
 /*
 函数功能:LED灯IO口初始化
 硬件连接:LED1-->P1_2 , LED2-->P1_3
 */
 void LED_Init(void)
 {
     P1DIR |=0x3P1_1  
 */
 void KEY_Init(void)
 {
     P1SEL&=~(0x3

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论