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

incerry incerry     2022-12-19     754

关键词:

目录



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学习路线-基础实验-gpio控制led灯亮灭(代码片段)

目录1.前期预备知识1.1新大陆ZigBee模块LED灯电路1.2CC2530相关寄存器1.3寄存器操作技巧1.4CPU空转延时1.4操作流程图2.程序代码TheEnd1.前期预备知识1.1新大陆ZigBee模块LED灯电路从上两的两个电路可知1.LED1连接在LED-LINK上,而LED-LINK是从CC... 查看详情

cc2530串口收发字符串

参考技术A1)通过实验掌握CC2530芯片串口配置与使用2)收到PC发送过来的数据,然后收到一整串数据之后,通过串口将改数据发送回去。注:嵌入式开发中,当程序能跑起来后,串口是第一个要跑起来的设备,所有的工作状态,... 查看详情

51单片机(cc2530)发送按键次数到串口助手显示实现功能:按1次按键串口助手显示1再按一次显示2以此

...P0_1//P0.1口控制S1//#defineTX_SIZE20//charTxData[TX_SIZE];//存储发送字符串/*****************************************************************************名称:DelayMS()*功能:以毫秒为单位延时16M时约为535,32M时要调整,系统时钟不修改默认为16M*入口参数:msec延时... 查看详情

cc2530开发模块与51单片机如何实现串口通信

...,怎么才能避免,没时间换11.0592的晶振了追答现在怎么学习都是理论啊..波特率我们做..都是用软件给出的..-1-1试的..波特率基本都是错的..只有慢慢试才会正确..大概-5之内会出现..运气不好+-10之内如果还不行就考虑一下是不是... 查看详情

cc2530-----串口透明传输分析

Zigbee协议栈学习之串口透明传输实验(SerialApp)流程分析 第一个功能:协调器的组网,终端设备和路由设备发现网络以及加入网络//第一步:Z-Stack由main()函数开始执行,main()函数共做了2件事:一是系统初始化,另外一... 查看详情

ti的cc2530z-stack协议栈简单问题

...么功能(即什么例子)我想在这三个例子中的一个例子的基础上修改实现:串口接收后立刻由此串口发出刚接收到的字符。请问串口的接收事件在哪里实现,看了比较多的资料还是一头雾水(到底在哪个文件的哪个函数里实现,... 查看详情

zigbee开发--基础实验led(代码片段)

CC2530的IO口配置我们需要配置三个寄存器P1SEL、P1DIR、P1INP。IO口功能如下表所示:(详细参考CC2530datasheet.pdf)CC2530datasheet.pdf的链接https://pan.baidu.com/s/1nLjYI8LgqxPH6WHd_n1Szw*P1SEL(0:普通IO口1:第二功能)*P1DIR(0:输入1:输出)*P1INP(0:上... 查看详情

arduinoesp32ble蓝牙串口通讯实验(代码片段)

ArduinoESP32BLE蓝牙串口通讯实验目的:通过蓝牙串口输出,实现无线蓝牙串口调试串口函数介绍Serial.available():返回串口缓冲区中当前剩余的字符个数。Serial.print():发送的是字符,Serial.write():发送的字节.... 查看详情

cc2530入门教程-增强版基础技能综合实训案例(基础版)-上位机源码

【CC2530入门教程-增强版】基础技能综合实训案例(基础版)-上位机源码广东职业技术学院 欧浩源一、需求分析    按照指定参数打开串口,与测控终端建立数据传输通道,并根据应用要求实现程序逻辑,具体... 查看详情

各位,请问有没有支持cc2530的点对点通信的zigbee例程呢?谢谢

ZigBee发送模块发送一个字符串,接收模块接收后通过串口传输到PC上并通过串口调试助手显示。就是类似于simpliciTI下的simple-peertopeer例程点对点通信的程序的协议不是zigbee协议,TI有提供P2P通信的例程,至于串口传输,可能要你... 查看详情

如何使用串口调试工具收发cc2530串口数据?

参考技术A在电脑上安装串口助手,连接USB,在串口助手中调整到正确的波特率,就可以收发数据了 查看详情

zynq之fpga学习----uart串口实验(代码片段)

1UART串口简介UART串口基础知识学习:硬件设计基础----通信协议UART2实验任务上位机通过串口调试助手发送数据给Zynq,ZynqPL端通过RS232串口接收数据并将接收到的数据发送给上位机,完成串口数据环回,管脚分配如... 查看详情

cc2530串口接收数据

...lag=1;ucharnum=0;ucharRecdata[3]="000";voidInitUART();//初始化串口0函数voidInitLED();//初始化LED函数voidmain()InitLED();//初始化LED灯InitUART();//初始化串口U0CSR|=0x40;//打开异步接收IEN0|=0x84;//打开总中断和串口0的接收中断while(1)//接收if(RTflag==1... 查看详情

zigbee开发--基础实验按键(代码片段)

CC2530的IO口配置我们需要配置三个寄存器P1SEL、P1DIR、P1INP。功能如下表所示:(详细参考CC2530datasheet.pdf)*P1SEL(0:普通IO口1:第二功能)*P1DIR(0:输入1:输出)*P1INP(0:上拉/下拉1:三态)按照表格寄存器内容,我们对LED1和按键S1,也... 查看详情

cc2530入门教程-增强版基础技能综合实训案例(基础版)-终端源码

【CC2530入门教程-增强版】基础技能综合实训案例(基础版)-终端源码广东职业技术学院欧浩源 一、关于硬件电路    关于这个综合实训案例,具体需求详见《【CC2530入门教程-增强版】基础技能综合实训案例(... 查看详情

cc2530入门教程-增强版基础技能综合实训案例(基础版)-题目需求

【CC2530入门教程-增强版】基础技能综合实训案例(基础版)-题目需求广东职业技术学院 欧浩源一、引用  不管是简单的单片机应用,还是复杂的嵌入式系统,在我看来它们的本质结构是差不多的,都离不开“内核+外... 查看详情

zigbee硬件平台小记(cc2530)

...寸:36mmx26mmSMA底座,外接50Ω天线模块对外提供TTL串口,所有I/O 查看详情

cc2540osal学习其中原理,以及给任务添加一个事件(定时发送串口消息)

1、TI的CC2540跑了一个 OSAL (OperatingSystemAbstractionLayer),2、在TI提供的SDK 中,打开一个观察者工程,找到任务初始化的地方。(可通过菜单->Edit->FindandReplace->FindinFiles这个全局查找功能 进行找到这个函数osalInitTas... 查看详情