码迷,mamicode.com
首页 > 其他好文 > 详细

CC2540开发板学习笔记(五)——串口通信

时间:2015-02-18 10:40:36      阅读:2684      评论:0      收藏:0      [点我收藏+]

标签:

一、实验现象:

    开发板实现 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)代码实现:

CC2540开发板学习笔记(五)——串口通信

标签:

原文地址:http://www.cnblogs.com/BlueMountain-HaggenDazs/p/4295635.html

(1)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!