版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
主讲教师:张如福/州/职/业/技/术/学/院单片机技术与应用串口相关寄存器配置串口通信基本原理串口通信UART(异步收发)模块串口通信基本原理数据发送数据接收波特率控制UART模块的核心功能串口相关寄存器配置时钟控制命令寄存器CLKCONCMD和时钟控制状态寄存器CLKCONSTACLKCONCMD:动态配置系统时钟源、分频系数及定时器时钟参数。CLKCONSTA:只读属性,实时反映当前生效的时钟配置状态,用于验证
CLKCONCMD
写入后的硬件同步结果。串口通信基本原理配置示例CLKCONCMD&=~0x40;while(CLKCONSTA&0X40);CLKCONCMD&=~0x07;串口相关寄存器配置示例说明注意:写入此位后,硬件需要时间切换时钟源。通过&与~的运算,将CLKCONCMD寄存器的第6位(OSC位)设置为0,选择32MHz外部晶振的系统时钟源。CLKCONCMD&=~0x40;串口相关寄存器配置while(CLKCONSTA&0X40);达到等待晶振稳定的目的:时钟源的改变首先在CLKCONSTA.OSC位与CLKCONCMD.OSC位相等的时候才生效,系统才稳定。示例说明串口相关寄存器配置while(CLKCONSTA&0X40);通过循环,等待CLKCONSTA寄存器的第6位(OSC位)置0,确保系统主时钟源完成从16MHzRC振荡器
切换至
32MHz的外部晶体振荡器且稳定。示例说明串口相关寄存器配置示例说明CLKCONCMD&=~0x07;先切换时钟源,再设置系统时钟频率,确保时钟的稳定性与可靠性。UART等外设依赖于主时钟,未稳定的时钟会导致通信乱码。完成时钟源切换后,再调整分频系数,通过&与~的运算,设置CLKCONCMD寄存器第2-0位(CLKSPD位)=000,选择系统主频32MHz。作用:
外设控制寄存器—PERCFG
选择串口USARTx的引脚位置功能CC2530芯片USART0USART1
异步模式(UART)
同步模式(SPI)外设控制寄存器—PERCFGPERCFG寄存器主要用于配置外设的I/O引脚映射位置,其位1-0分别是USART1和USART0的配置位,如置0则USART1和USART0的I/O引脚映射位置是选择备用位置1,如置1则选择备用位置2。外设控制寄存器—PERCFGUSART0和USART1两个串口备用位置1与2的I/O引脚映射对比外设控制寄存器—PERCFGUSART0串口引脚位置位置1USART1串口引脚位置使用P0_2(RX)、P0_3(TX)位置2使用P1_4(RX)、P1_5(TX)位置1使用P0_5(RX)、P0_4(TX)位置2使用P1_7(RX)、P1_6(TX)外设控制寄存器—PERCFG配置示例:PERCFG=0x00;示例说明:设置USART1和USART0的串口引脚位置均选择默认位置1,即USART0串口引脚位置:P0_2(RX)、P0_3(TX);USART1串口引脚位置:P0_5(RX)、P0_4(TX)作用:选择串口引脚的具体位置Px端口功能选择寄存器—PxSEL功能:将Px端口对应位引脚配置为外设I/O功能(非GPIO)示例说明:0x3C的二进制00111100通过将P0SEL位5-2置1配置引脚P0_2至P0_5为外设I/O功能(串口通信)其中P0_2、P0_3分别作为串口RX、TX配置示例:P0SEL|=0x3C;作用:配置Px端口引脚的I/O功能。端口2方向和端口0外设优先级控制寄存器—P2DIR功能:可控制端口0外设优先级示例说明:~0xC0的二进制是00111111通过&与~的运算位7-6配置为00确保UART0优先使用P0口配置示例:P2DIR&=~0xC0;作用:若多个外设共用同一端口0时,可通过P2DIR寄存器设置优先级;也可设置P2.4到P2.0的I/O方向。串口x控制和状态寄存器—UxCSR
配置USARTx的模式和状态功能UART模式SPI模式MODE位使能接收RE位外设控制寄存器—PERCFG配置示例:U0CSR|=0XC0;0xC0的二进制为11000000:U0CSR的位7(MODE位)是串口模式选择位置1启用USART通信模式为UART模式,置0为SPI模式;位6(RE位)操作UART接收器使能,置0为关闭接收,置1为允许接收。此代码最终配置串口0启用UART模式,使能UART接收器作用:串口x工作启用模式设置,为串口通信提供基础。
USARTx通用控制寄存器—UxGCR与
波特率控制寄存器UxBAUDf为系统时钟(如32MHz)波特率计算公式BAUD_M(波特率小数部分)BAUD_E(波特率指数)
由设置小数部分的UxBAUD和设置指数部分的UxGCR联合设置。USARTx通用控制寄存器—UxGCR与
波特率控制寄存器UxBAUD基于32MHz系统时钟,若时钟不同(即16MHz)需重新计算波特率USARTx通用控制寄存器—UxGCR与
波特率控制寄存器UxBAUD配置示例:U0BAUD=216;U0GCR=11;示例说明:U0BAUD=216;:是将U0BAUD的位7-0(位BAUD_M)设置为216。作用:配置串口通信波特率U0GCR=11;:是将U0GCR的位4-0(位BAUD_E)设置为11。以上设置对应波特率为115200。UARTx控制寄存器—UxUCR功能:清空缓冲区,避免数据冲突,并设置通信时的参数如流控制、校验位、传送。配置示例:U0UCR|=0x80作用:用于配置串口UART的附加功能。主体设置位7(FLUSH位)为1,清空缓冲区,其他通信参数默认。示例说明:TX中断标志位—UTX0IF位/UTX1IF位功能:此位为0时串口的TX(发送)无中断未决,为1则有中断未决。配置示例:UTX0IF=0;作用:用于设置串口的TX中断标志位。清零UART0的TX中断标志。示例说明:TX中断标志位—UTX0IF位/UTX1IF位功能:此位为0时串口的RX(接收)无中断未决,为1则有中断未决。配置示例:URX0IF=0;作用:用于设置串口RX中断标志位。清零UART0的RX中断标志。示例说明:中断使能0寄存器—IEN0功能:配置总中断使能和接收中断使能。配置示例:IEN0=0X84;作用:使能各中断,为中断响应提供基础1)IEN0的位7(EA位)置1,使能总中断示例说明:2)IEN0的位2(URX0IE)置1,使能接收中断USARTx接收/传送数据缓存寄存器—UxDBUF以串口0为例发送数据:将待发送的字节写入U0DBUF后,硬件自动启动串行传输,数据通过TXD引脚逐位输出。当前一字节已发送完成时,UTX0IF会被自动置1,表示可以发送新数据。当新数据字节写入U0DBUF时,硬件会自动清零UTX0IF(避免重复中断)。如连续发送,需等待UTX0IF置1后再写入下一个字节。接收数据:当RXD引脚检测到完整字节时,硬件自动将数据存入U0DBUF,并置1接收完成标志位URX0IF。程序需先检查URX0IF是否为1,确认数据有效后读取U0DBUF,读取完成后必须手动清除URX0IF标志位以准备下一次接收。USARTx接收/传送数据缓存寄存器—UxDBUF发送数据:将待发送的字节写入U0DBUF后,硬件自动启动串行传输,数据通过TXD引脚逐位输出。当前一字节已发送完成时,UTX0IF会被自动置1,表示可以发送新数据。当新数据字节写入U0DBUF时,硬件会自动清零UTX0IF(避免重复中断)。如连续发送,需等待UTX0IF置1后再写入下一个字节。接收数据:当RXD引脚检测到完整字节时,硬件自动将数据存入U0DBUF,并置1接收完成标志位URX0IF。程序需先检查URX0IF是否为1,确认数据有效后读取U0DBUF,读取完成后必须手动清除URX0IF标志位以准备下一次接收。以串口0为例USARTx接收/传送数据缓存寄存器—UxDBUF接收数据:当RXD引脚检测到完整字节时,硬件自动将数据存入U0DBUF,并置1接收完成标志位URX0IF。程序需先检查URX0IF是否为1,确认数据有效后读取U0DBUF,读取完成后必须手动清除URX0IF标志位以准备下一次接收。物理特性:8位寄存器,直接映射到USART硬件模块,支持单字节操作。以串口0为例USARTx接收/传送数据缓存寄存器—UxDBUF示例说明:U0DBUF=*data_tx++;:将数据写入U0DBUF功能:作为数据发送和接收的缓冲区,实现数据的物理层收发操作。temp=U0DBUF;:读出U0DBUF的值赋予变量temp配置示例U0DBUF=*data_tx++;temp=U0DBUF;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026安徽合肥物流控股集团有限公司猎聘3人备考题库附答案详解(完整版)
- 2026黑龙江哈尔滨启航劳务派遣有限公司派遣到哈尔滨工业大学校医院招聘1人备考题库及一套答案详解
- 2026安徽黄山歙州农文旅发展集团有限公司招聘编制外人员1人备考题库及答案详解(考点梳理)
- 2026春季四川内江市中医医院招聘员额人员11人备考题库含答案详解(培优b卷)
- 2026年文化和旅游部直属事业单位招聘社会人员备考题库(二)附答案详解
- 2026新疆新星人才发展有限公司代新疆红星建设工程(集团)有限公司招聘5人备考题库带答案详解(完整版)
- 2026辽宁沈阳市大东区区属国有企业副总经理市场化选聘3人备考题库有答案详解
- 李广射虎教案基于课标的教学设计
- 光伏支架选型与设计技术规程
- 在2026年全市国资国企工作会议上的讲话
- 《5G无线网规划设计规程》
- JTS-167-8-2013水运工程先张法预应力高强混凝土管桩设计与施工规程
- JTGT H21-2011 公路桥梁技术状况评定标准
- 家长会课件:八年级下学期期中家长会课件
- 人工智能的伦理问题及其治理研究
- 1年级多届YMO数学初选试卷汇编
- 食堂装修改造工程施工部署
- 机械租赁合同电子版
- 动脉血气分析六步法-杜斌课件
- Axure RP 9互联网产品原型设计函数的使用
- 天津市建筑工程施工质量验收资料管理规程DBT29-209-2020
评论
0/150
提交评论