标签:
一、实验现象:
开发板实现 3个功能。发送、收发、控制 LED。
二、实验过程
1、PL2303 USB转串口电路图
2、串口发送
(1)查看用户手册有:
UART0 对应的外部设备 IO 引脚关系为: P0_2 ------ RX
P0_3 ------ TX
UART1 对应的外部设备 IO 引脚关系为: P0_5 ------ RX
P0_4 ------ TX
(2)USART功能特点:
在 CC2540中, UART0和UART1是串行通信接口,它们能够分别运于异步UART 模式或者同步SPI模式。两个模式。两个UART的功能是一样,可以通过设置在单独的 IO引脚上。
UART 模式的操作具有下列特点:
①8位或者 9位负载数据
②奇校验、偶校验或者无奇偶校验
③配置起始位和停止电平
④配置 LSB 或者 MSB 首先传送
⑤独立收发中断
⑥独立收发 DMA 触发
(3)CC2540配置串口的一般步骤
① 配置 IO,使用外部设备功能。 此处配置 P0_2 和 P0_3用作串口 UART0
② 配置相应串口的控制和状态寄存器。 此处配置 UART0 的工作寄存器
③ 配置串口工作的波特率。 此处配置波特率为115200
(4)寄存器的相关内容:
U0CSR (UART0控制和状态寄存器) | BIT7:MODE | 0:SPI模式 1:UART模式 |
BIT6:RE | 0:接收器进制 1:接收器使能 | |
BIT5:SLAVE | 0:SPI主模式 1:SPI从模式 | |
BIT4:FE | 0:没有检测到出帧错误 1:收到字节停止位电平出错 | |
BIT3:ERR | 0:没有检测出奇偶检验出错 1:收到字节奇偶检验出错 | |
BIT2:RX_BYTE | 0:没有收到字节 1:收到字节就绪 | |
BIT1:TX_BYTE | 0:没有发送字节 1:写到数据缓冲区寄存器的最后字节已发送 | |
BIT0:ACTIVE | 0:UART空闲 1:UART忙碌 | |
U0GCR UART0通用控制寄存器 | BIT7:CPOL | 0:SPI负时钟极性 1:SPI正时钟极性 |
BIT6:CPHA | 0:当来自CPOL的SCK反相之后又返回CPOL时,数据输出到 MOSI;当来自CPOL的SCK返回CPOL反相时,输入数据采样到MISO。 1:当来自CPOL的SCK反相之后又返回CPOL时,输入数据采样MOSI;当来自CPOL的SCK返回CPOL反相时,数据输出到 MOSI。 | |
BIT5:ORDER | 0:LSB先传送 1:MSB先传送 | |
BIT[4,0]:BAUD_E | 波特率指数值 BAUD_E连同BAUD_M一起决定了UART的波特率 | |
U0BAUD UART0 波特率控制寄存器 | BIT[7,0]:BAUD_M | 波特率尾数值 BAUD_E连同BAUD_M一起决定了UART的波特率 |
U0DBUF | 串口发送/接受数据缓冲区 | |
UTX0IF 发送中断标志 | 中断标志5IRCON2的BIT1 | 0:中断未挂起 1:中断挂起 |
(5)串口波特率设置
公式如下:
常用波特率设置:
(6)代码实现:
标签:
原文地址:http://www.cnblogs.com/BlueMountain-HaggenDazs/p/4295635.html