6.1 任务6.1 CC2530单片机通过串口发送数据到PC_第1页
6.1 任务6.1 CC2530单片机通过串口发送数据到PC_第2页
6.1 任务6.1 CC2530单片机通过串口发送数据到PC_第3页
6.1 任务6.1 CC2530单片机通过串口发送数据到PC_第4页
6.1 任务6.1 CC2530单片机通过串口发送数据到PC_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机应用技术项目六CC2530单片机与PC的通信任务6.1CC2530单片机通过串口发送数据到PC任务要求

实现CC2530单片机发送数据给PC,PC通过串口助手查看接收到的数据。CC2530开发板的串口,通过“USB转串口”数据线连接到PC。使用CC2530单片机的串口发送数据“Hello,PC.”给PC。在PC端,使用串口调试助手,查看接收到的数据。CC2530单片机发送数据采用固定周期2s,即每隔2s发送一次数据。1基础知识2相关寄存器3任务分析4任务实现一、基础知识

通信的方式利用多条数据传输线同时发送或接收多位数据。并行通信一、基础知识

通信的方式串行通信是指数据一位接一位地按顺序发送或接收。串行通信一、基础知识

两者对比通信方式优点缺点用途并行通信各位数据同时传输,传输速度快效率高需要较多的数据线,因此传输成本高,干扰大,可靠性较差一般适用于短距离数据通信,多用于PC内部的数据传输方式串行通信数据按位顺序进行,传输成本低传送数据速度慢一般用于较长距离的数据传输一、基础知识

串行通信串行同步通信串行异步通信通信的所有设备使用同一个时钟,以数据块为单位传送数据。数据传送速度高。通信的设备具有自己的时钟,以帧为单位传送数据,每次传送一个帧。一、基础知识

波特率单位:bps,每秒发送的二进制位数(bit)串行通信传输数据的单位一、基础知识

可以运行于异步UART模式或者同步SPI模式两个串行通信接口USART0和USART1两个接口具有同样的功能,可以设置在单独的I/O引脚一、基础知识

UART模式下的I/O引脚映射位置P0P17654321076543210USART0位置1

RTCTTXRX

USART0位置2

RXTXRTCT

USART1位置1

RXTXRTCT

USART1位置2

RXTXRTCT

USART0和USART1,均使用P0端口和P1端口,每个串口占用引脚。例如,USART0使用位置1时,则RX使用P0_2引脚,TX使用P0_3引脚;USART0使用位置2时,则RX使用P1_5引脚,TX使用P1_4引脚。二、相关寄存器

位名称复位操作描述7MODE0R/WUSART模式选择。0:SPI模式。1:UART模式6REN0R/WUART接收器使能。注意在UART完全配置之前不使能接收。0:禁用接收器。1:使能接收器5SLAVE0R/WSPI主或者从模式选择。0:SPI主模式。1:SPI从模式4FE0R/W0UART数据帧错误状态。0:无数据帧错误。1:字节收到不正确的停止位3ERR0R/W0UART奇偶错误状态。0:无奇偶错误检测。1:字节收到奇偶错误2RX_BYTE0R/W0接收字节状态。URAT模式和SPI从模式。当读U0DBUF该位自动清除,通过写0清除它,这样有效丢弃U0DBUF中的数据。0:没有收到字节。1:准备好接收字节1TX_BYTE0R/W0传输字节状态。URAT模式和SPI主模式。0:字节没有被传输。1:写到数据缓存寄存器的最后字节被传送0ACTIVE0RUSART传输/接收主动状态、在SPI从模式下该位等于从模式选择。0:USART空闲。1:在传输或者接收模式USART忙碌UxCSR,USARTx控制和状态寄存器二、相关寄存器

位名称复位操作描述7FLUSH0R0/W1清除单元。当设置此位时,会立即停止当前操作并且返回单元的空闲状态6FLOW0R/WUART硬件流禁止与使能。用RTS和CTS引脚选择硬件流控制的使用。0:禁止流控制。1:使能流控制5D90R/WUART奇偶校验位。当使能奇偶校验时,写入D9的值决定发送数据的第9位的值,如果收到的第9位的值与收到字节的奇偶校验位不匹配,接收时报告错误。如果奇偶校验使能,可以设置以下奇偶校验类型。0:奇校验。1:偶校验4BIT90R/WUART9位数据使能。当该位是1时,使能奇偶校验位(第9位)传输。如果通过PARITY使能奇偶校验,则第9位的内容是通过D9给出的。0:8位传输。1:9位传输3PARITY0R/WUART奇偶校验使能。0:禁用奇偶校验。1:使能奇偶校验2SPB0R/WUART停止位的位数。选择要传输的停止位的位数。0:1位停止位。1:2位停止位1STOP1R/WUART停止位的电平,必须不同于起始位的电平。0:停止位低电平。1:停止位高电平0START0R/WUART起始位电平。闲置线的极性采用与选择的起始位级别电平相反的电平。

0:起始位低电平。1:起始位高电平UxUCR,USARTxUART控制寄存器二、相关寄存器

UxDBUF,USARTx接收/发送数据缓冲寄存器位名称复位操作描述7:0DATA[7:0]0x00R/WUSART接收和传输数据。写入该寄存器的时候数据被写到内部传送数据寄存器。读取该寄存器的时候数据来自内部读取的数据寄存器二、相关寄存器

UxDBUF,USARTx接收/发送数据缓冲寄存器USART0发送数据时,将一个字节的数据送入UODBUF,该寄存器将8位数据通过TX引脚一位一位地发送出去。二、相关寄存器

UxDBUF,USARTx接收/发送数据缓冲寄存器USART0接收数据时,从接收引脚RX一位一位地接收数据将其存入UODBUF寄存器中,最后得到一个字节的数据。二、相关寄存器

UxGCR,USARTx通用控制寄存器位名称复位操作描述4:0BAUD_E[4:0]00000R/W波特率指数值。BAUD_E和BAUD_M决定了UART波特率和SPI的主SCK时钟频率UxBAUD,USARTx波特率控制寄存器位名称复位操作描述7:0BAUD_M[7:0]0x00R/W波特率小数部分的值。BAUD_E和BAUD_M决定了UART的波特率和SPI的主SCK时钟频率波特率计算公式二、相关寄存器

32MHz系统时钟时常用的波特率设置波特率bit/sUxBAUD.BAUD_MUxGCR.BAUD_E误差%24005960.1448005970.1496005980.141440021680.03192005990.142880021690.033840059100.1457600216100.037680059110.14115200216110.03230400216120.03二、相关寄存器

CLKCONCMD,时钟控制命令寄存器位名称复位操作描述7OSC32K1R/W32kHz时钟振荡器选择。设置该位只能发起一个时钟源改变。CLKCONSTA.OSC32K反映当前的设置。当要改变该位必须选择16MHzRCOSC作为系统时钟源。0:32kHzXOSC。1:16kHzRCOSC6OSC1R/W系统时钟源选择。设置该位只能发起一个时钟源改变。CLKCONSTA.OSC反映当前的设置。0:32MHzXOSC。1:16MHzRCOSC5:3TICKSPD[2:0]001R/W定时器标记输出设置。不能高于通过OSC位设置的系统时钟频率。000:32MHz。001:16MHz。010:8MHz。011:4MHz。100:2MHz。101:1MHz。110:500kHz。111:250kHz2:0CLKSPD001R/W当前系统时钟频率。不能高于通过OSC位设置的系统时钟设置。000:32MHz。001:16MHz。010:8MHz。011:4MHz。100:2MHz。101:1MHz。110:500kHz。111:250kHz二、相关寄存器

CLKCONSTA,时钟控制状态寄存器位名称复位操作描述7OSC32K1R当前选择的32kHz时钟振荡。0:32KHzXOSC。1:16KHzRCOSC6OSC1R当前选择的系统时钟。0:32MHzXOSC。1:16MHzRCOSC5:3TICKSPD[2:0]001R当前设置的定时器标记输出。000:32MHz。001:16MHz。010:8MHz。011:4MHz。100:2MHz。101:1MHz。110:500kHz。111:250kHz2:0CLKSPD001R/W当前系统时钟频率。000:32MHz。001:16MHz。010:8MHz。011:4MHz。100:2MHz。101:1MHz。110:500kHz。111:250kHz二、相关寄存器

CLKCONCMD

&=~

0x40;

//选择时钟源为32MHzXOSCwhile(CLKCONSTA&0x40);//等待外部晶振稳定CLKCONCMD

&=~

0x07;//设置时钟速度32MHz在本项目中,串口工作时,需要设置时钟源频率为32MHz。所以,需要选择32MHzXOSC振荡源。实现方式如下。三、任务分析

1.对USART0的使用位置、工作方式和波特率进行配置,对T1进行配置。2.定时时间2s到达后,此时USART0向PC发送数据“Hello,PC”。3.重复执行步骤2。四、电路图分析

CC2530单片机的输入输出电平是TTL电平,PC配置的串行通信接口配置是RS232标准接口,两者的电器规范不一致,要完成两者之间的通信,需要在两者之间进行电平转换。四、电路图分析

要实现通信,CC2530单片机的P0_2、P0_3引脚必须分别连接到MAX3232的12、11引脚,MAX3232的14、13、7、8引脚再与COM1的8、3、7、2相连。COM1需要通过转接线与PC相连。使用该CC2530开发板,必须要用UASRT0的位置1。CC2530单片机的P0_2、P0_3引脚,分别是RX、TX引脚,分别表示接收引脚、发送引脚,与MAX3232的11、12号引脚连接。五、任务实现

串口初始化void

init_USART0()

{

PERCFG

=

0x00;

//USART0使用位置1

P0SEL

=

0x3c;

//设置P0_2、P0_3、P0_4、P0_5引脚作为外设I/O引脚

U0CSR

|=

0x80;

//设置USART0为UART模式

U0BAUD

=

216;

U0GCR

=

10;

//设置波特率为57600bps

U0UCR

|=

0x80;

//清除单元,并返回单元空闲状态

UTX0IF

=

0;

//清除USART0的TX中断标志位

}

五、任务实现

串口发送数据void

USART0_send_data(un

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论