- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
stm32串口通信 stm32F103RCT6提供5路串口。串口的使用,只要开启串口时钟,设置相应的I/O口的模式,然后配置下波特率、数据位长度、奇偶校验等信息,即可使用。?1.串口的配置步骤①串口时钟使能 APB2外设时钟使能寄存器(RCC_APB2ENR)置1开启。清0关闭。第14位对串口1的时钟使能 Eg:RCC-APB2ENR| = 114; //使能串口1时钟除串口1的时钟使能在RCC_APB2ENR寄存器,其余的时钟使能位在寄存器RCC_APB1ENR寄存器,而APB2(72M)的频率一般是APB1(36M)的一倍。 APB1外设时钟使能寄存器(RCC_APB1ENR)?20-17位串口5-2时钟使能 Eg:RCC-APB1ENR| = 117; //使能串口2时钟?②串口复位 一般在系统刚开始配置外设时,都会先执行复位该外设的操作,而复位后要将其结束复位。 串口复位主要在寄存器RCC_APB2RSTR(串口1的复位)和寄存器RCC_APB1RSTR(串口2-5的复位)。 APB2外设复位寄存器 (RCC_APB2RSTR)置1复位,清0无作用。第14位是串口1复位 Eg:RCC-APB2RSTR |= 114; //复位串口1 RCC-APB2RSTR = ~(114); //停止复位 APB1外设复位寄存器 (RCC_APB1RSTR)置1复位,清0无作用。20-17位串口5-2复位 Eg:?RCC-APB1RSTR |= 117; //复位串口2 ?RCC-APB1RSTR = ~(117); //停止复位③串口波特率设置 波特比率寄存器() 关于波特率设置在函数void uart_init(u32 pclk2,u32 bound)里已经设置好,并且封装在usart.c文件里面可以直接调用。④串口控制 stm32的每个串口都有3个控制寄存器USART_CR1~3控制 控制寄存器1(USART_CR1) 该寄存器32~14位保留,第13位使能串口(任何串口在应用的时候都必需将其置“1”)第12位设置字长,当这位为“0”的时候设置串口位8个字长外加n个停止位,这n个停止位在寄存器USART_CR2中第[13:12]位来决定。PCE为奇偶校验使能位设置为“0”则禁止校验,否则使能校验。PS是交验选择位,设置为“0”则为偶校验,否则为奇校验。PEIE:PE(校验错误)中断使能,该位由软件设置或清除,定义:0(禁止产生中断),1(当USART_SR中的PE为’1’时,产生USART中断)。TXEIE发送缓冲区空中断使能,(手动),定义:0(禁止产生中断),1(当USART_SR中的TXE为’1’时,产生USART中断)。TCIE发送完成中断使能,(手动),定义:0(禁止产生中断)1(当USART_SR中的TC为’1’时,产生USART中断)。RXNEIE接收缓冲区非空中断使能,(手动),定义:0(禁止产生中断),1(当USART_SR中的ORE或者RXNE为’1’时,产生USART中断)。TE为发送使能位,设置为“1”将开启串口的发送功能。RE为接收使能位,用法同TE。? 控制寄存器2(USART_CR2)Eg:USART1-CR1|=0X200C;? //1位停止,无校验位. 0X200C=0010 0000 0000 1100B设置成使能串口8个字长1个停止位(USART_CR2中[13:12]默认为“0”)禁止校验,禁止校验所有中断,使能发送和接收。?⑤数据的发送和接收 数据寄存器(USART_DR)发送数据缓存寄存器(向它写数据它会自动发送数据),当接收到数据时则存放接收的数据⑥串口状态 状态寄存器(USART_SR)RXNE(读数据寄存器非空),当该位被置1时,即提示已经有数据被接收,可以读取。我们应尽快读取USART_DR,通过读USART_DR可以将该位清0,也可以向该位写0直接清除。TC(发送完成),当该位被置位时,表示USART_DR内的数据以及被发送完成了。如果设置了这个位的中断,则会产生中断。该位两种清0方式:①读USART_DR ②向该位写0直接清除?2.关于波特率的计算void uart_init(u32 pclk2,u32 bound) pclk2是系统时钟平率。bound需要设置的波特率,例如9600、115200等。参考1.③中的USART_BRR寄存器。STM32串口波特率的计算公式如下: Tx/Rx波特率 = fPCLKx / (16*USARTDIV) fPCLKx是给串口的时钟(PCLK1用于USART2-5,PCLK2用于USART1) USARTDIV是一个无符号定点数,得到USARTDIV,可得USAR
您可能关注的文档
- S第一章--国际财务管理概述.ppt
- SICAS系统组成和工作原理.ppt
- S版五年级下册语文百花园三教学课件详细.ppt
- Unit-1-词汇-教学课件.ppt
- UG创新设计第十六讲(韩伟).ppt
- TPM全面设备维护保全-成为一名合格设备管理者.pptx
- Unit8-课程教学设计.ppt
- Unit7What's-the-highest-mountain-in-the-world第一课时预备课.ppt
- unit12SectionA正式.ppt
- 第8章--局域网交换技术.pptx
- 2025年金融科技应用趋势分析报告.docx
- 2025年互联网+医疗美容服务可行性研究评估报告.docx
- 面向2025年工业互联网平台的入侵检测系统安全防护机制优化报告.docx
- 2025年食品行业食品安全追溯体系构建与产业链协同发展报告.docx
- 2025年生态修复工程中生态系统服务功能评估与生态系统服务供需平衡报告.docx
- 农业机械化智能化在农业信息化建设中的应用报告.docx
- 2025年制造业供应链数字化协同管理中的供应链协同产业政策支持中的实践报告.docx
- 2025年深海矿产资源勘探技术国际合作与竞争格局分析.docx
- 未来医疗康复行业报告:2025年服务体系与运营模式创新策略.docx
- 面向2025年,智能制造产业孵化基地配套政策研究报告.docx
文档评论(0)