1. 前期预备知识

1.1 串口通讯电路图


从上图可见,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 传送的串行时钟速率。波特率由下式给出:

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

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

CC2530学习路线-基础实验-串口通讯发送字符串(4 未完待续)的更多相关文章

  1. CC2530学习路线-基础实验-定时器控制LED灯亮灭(3)

    目录 1. 前期预备知识 1.1 定时器中断触发 1.2 相关寄存器 1.3 寄存器相关问题 1.4 T1.T3定时器初始化流程 2 程序及代码 THE END 1. 前期预备知识 1.1 定时器中断 ...

  2. CC2530学习路线-基础实验-GPIO 按键控制LED灯亮灭(2)

    目录 1.前期预备知识 1.1 新大陆Zigbee模块按键电路图 1.2 CC2530相关寄存器 1.3 CC2530中断走向图 1.4 使用C语言为51单片机编写中断程序 1.5 *函数指针 2. ...

  3. CC2530学习路线-基础实验-GPIO 控制LED灯亮灭(1)

    目录 1.前期预备知识 1.1 新大陆ZigBee模块LED灯电路 1.2 CC2530相关寄存器 1.3 寄存器操作技巧 1.4 CPU空转延时 1.4 操作流程图 2.程序代码 The End 1 ...

  4. Go web编程学习笔记——未完待续

    1. 1).GOPATH设置 先设置自己的GOPATH,可以在本机中运行$PATH进行查看: userdeMacBook-Pro:~ user$ $GOPATH -bash: /Users/user/ ...

  5. 2017-2-17,c#基础,输入输出,定义变量,变量赋值,int.Parse的基础理解,在本的初学者也能看懂(未完待续)

    计算机是死板的固定的,人是活跃的开放的,初学c#第一天给我的感觉就是:用人活跃开放式的思维去与呆萌的计算机沟通,摸清脾气,有利于双方深入合作,这也是今晚的教训,细心,仔细,大胆 c#基础 1.Hell ...

  6. Java开发中的23+2种设计模式学习个人笔记(未完待续)

    注:个人笔记 一.设计模式分三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥接模式.组合模 ...

  7. Java学习路线-基础篇!

    下面以黑马程序员Java学院的学习路线为例,进行一次史无前例的剖析,我会采取连载的形式,细致的讲解零基础的人怎么学习Java.先看下Java在基础阶段的知识点路线图. 内容多吗?不要被吓到了,知识点剖 ...

  8. 【单片机入门】(三)应用层软件开发的单片机学习之路-----UART串口通讯和c#交互

    引言 在第一章博客中,我们讲了Arduino对Esp32的一个环境配置,以及了解到了常用的一个总线通讯协议,其中有SPI,IIC,UART等,今天我为大家带来UART串口通讯和c#串口进行通讯的一个案 ...

  9. 疯狂Java:突破程序员基本功的16课-李刚编著 学习笔记(未完待续)

    突破程序员基本功(16课) 数组 静态语言: 在编译的时候就能确定数据类型的语言,大多静态语言要求在使用变量之前必须声明数据类型(少数具有强推导能力的现代语言不用) 动态语言: 在程序运行时确定数据类 ...

随机推荐

  1. mysql的外键知识

    外键的作用 1.用来约束两张表中的字段 2.外键也可以用来实现一对多 我们先举一个这样的例子,让大家对外键有一个基本的认识 当前我们有一个需求就是,需要创建一张表,这张表要包括“姓名”,“年龄”,“工 ...

  2. VMware安装centos虚拟机 通过NAT与主机互通并能上网

    1.关于centos虚拟机的安装,我这里就不详细说明了,网上有很多教程,默认你们已经安装好.       (我的环境是centos6.6 x86 最小安装版) 2.右键虚拟主机,选择设置选项. 3.在 ...

  3. struts框架问题四之获取到值栈的对象

    4. 问题四 : 如何获得值栈对象 * 获得值栈对象 有三种方法 * ValueStack vs1 = (ValueStack) ServletActionContext.getRequest().g ...

  4. 【转】HttpRuntime的认识与加深理解

    原文:http://www.cnblogs.com/whtydn/archive/2009/10/16/1584418.html   下面最先介绍HttpRuntime的Web.config里的配置 ...

  5. C# 类初始化顺序

    C#的类初始化顺序和Java以及C++类初始化顺序是不同的,曾经我被这个问题害惨了.对于C#和Java,其共同点都是先变量后构造函数,先静态后普通 区别在于,C#是子类变量->父类变量-> ...

  6. Windows 7 手动添加受信任证书教程

    步骤如下: 1.点击开始-运行,如下图: 2.弹出"控制台"窗口如下,如下图: 3.点击"文件-添加/删除管理单元",如下图: 4.选择"证书&quo ...

  7. Codeforces 691C. Exponential notation 模拟题

    C. Exponential notation time limit per test: 2 seconds memory limit per test:256 megabytes input: st ...

  8. Ckeditor上传图片返回的JS直接显示出来,未执行!!!

    Ckeditor上传图片网上有很多教程. 下面是我今天下午遇到的一个坑...自己挖的坑. 在conotroller里 我开始习惯性的 response.setContentType("app ...

  9. 判定map中是否存在某元素

    判断某key是否存在可以使用map的count方法来间接判定 count接受一个参数key值,返回map中key值为给定值的元素总数 map<int, string> i_to_s_map ...

  10. 2018.07.03 HDU Rikka with Phi(线段树)

    Rikka with Phi Time Limit: 16000/8000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) P ...