临沂定制网站建设公司我公司要网站建设
web/
2025/10/6 0:42:17/
文章来源:
临沂定制网站建设公司,我公司要网站建设,北京高端品牌网站定制,好视通视频会议app下载安装之前的学习笔记“SPI不够用#xff1f;USART来帮忙”一文中介绍了用如何把USART当做SPI来用的方法。此外#xff0c;ST的USART还有很多新特性#xff0c;没准有你不知道的。在此#xff0c;我们整理出来以下串口新特性#xff0c;供大家参考。支持RXD和TXD管脚互换很多时候…之前的学习笔记“SPI不够用USART来帮忙”一文中介绍了用如何把USART当做SPI来用的方法。此外ST的USART还有很多新特性没准有你不知道的。在此我们整理出来以下串口新特性供大家参考。支持RXD和TXD管脚互换很多时候我们在外接RS232芯片时很容易将RXD和TXD两根线接反。这类低级错误一般是老司机才会犯。如果大家知道USART的TXD和RXD管脚可以互换那么在连接外设RS232芯片时如果发生错误就不必再修改硬件只需直接在软件中将RXD和TXD的管脚反转过来即可修正错误。参考上图设置SWAP位即可将RXD和TXD管脚互换。支持接收和发送的电平极性反转第二个特性是接收和发送的电平极性是可以反转的。通常默认串口电平是高电平为逻辑1低电平为逻辑0而在ST的USART中是可以将高电平设置为逻辑0低电平设置为逻辑1的。这一特性让我们在一些特殊的场景下灵活使用举个栗子USART外接了反相器时就可以直接使用。在数据接收发送寄存器中数据也是可以反转的原来的0变为1原来的1变为0这和电平极性反转是类似。需要特别注意的是在极性反转的时候起始位和结束位也都反转了所有的信号电平都反转而在数据寄存器中只反转了数据位其中也包含了校验位没有反转信号的起始位和结束位的极性。参考上图在USART_CR2寄存器中TXINV、RXINV和DATAINV位来进行设置。支持数据高位与低位反序发送或接收第三个新特性发送和接收数据时可在寄存器中设置是先发低位还是先发高位。默认的配置都是先发送或接收低位的信号(bit 0)实际应用中通过USART_CR2中的MSBFIRST设置后也可以让USART先发送或接收高位信号(bit 7/8)这一点在对数据进行反序的时候会经常用到它。我们可以考虑这种情况如果需要把串口接收到的数据先进行反序操作之后再进行计算那这个硬件的功能就可以帮助我们节省很多软件的工作量。USART支持DMA传输最后STM32的USART都是支持DMA的这一点有利于做数据的连续发送和数据的缓冲接收。在某些STM32产品系列中如STM32F4和H7系列具有专门的串口FIFO这就可以用来做串口唤醒先让MCU进入到Sleep模式当接收到一个完整的数据包这个数据包可能是100个字节或者200个字节之后再唤醒单片机这样既可以做到不丢数据又可以降低MCU的唤醒频率。另外USART的接收还具有超时功能可以人为设定一个时间在USART的RTOR寄存器中进行设置当串口接收的数据帧之间超过了这个设定值就会引发一个超时中断串口中会有一个叫RTOF的标志位来显示发生的超时事件我们通过这个中断中应用的代码就可以知道串口的数据发生了中断现象近似可认为对方的数据已经发送完成。这种方式在串口上层协议的开发中有很多应用场景。USART 新特性小结支持RXD和TXD管脚的互换支持管脚上的电平逻辑反转和数据寄存器中的逻辑反转支持数据高位与低位反序发送或接收既可以先发送或接收低位也可以先发送或接收高位支持接收数据的超时功能并且每个USART都可以支持DMA传输
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/87643.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!