• CC2530学习路线-基础实验-串口通讯发送字符串(4 未完待续)




    1. 前期预备知识

    1.1 串口通讯电路图

    image_1bqjjhr9leo112efe02df51fp.png-25kB
    从上图可见,CC2530芯片通过P0端口的P0.1和P0.2引脚进行串口通讯。这个实验当中对于端口的操作也主要就是P0端口。

    1.2 实验相关寄存器

    寄存器名称 作用 寄存器描述
    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寄存器是一个只读寄存器,用来获得当前时钟状态

    1.2 常用波特率设置

    由寄存器 UxBAUD.BAUD_M[7:0]和 UxGCR.BAUD_E[4:0]定义波特率。该波特率用于 UART 传送,也用于 SPI 传送的串行时钟速率。波特率由下式给出:

    image_1bqjoapr21ig4dc31uu90tt50m.png-21.7kB

    F 是系统时钟频率,等于 16 MHz RCOSC 或者 32 MHz XOSC。 32 MHz 系统时钟常用的波特率设置:

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

    本章未完待续..... 原来写的文章已经丢失了,只能找到这一小部分,看什么时候有时间再补上。

  • 相关阅读:
    16-面向对象之语法(1)
    4-编辑器IDE_for_python
    3-python入门学习路线
    2-学习方法心得
    1-语法基础
    NSMutableArray基本概念
    NSArray 与字符串
    NSArray文件读写
    NSArray排序
    NSArray 遍历
  • 原文地址:https://www.cnblogs.com/InCerry/p/9397907.html
Copyright © 2020-2023  润新知