0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何互换STM32中UART的Rx和Tx引脚及电平的反转

strongerHuang 来源:未知 2019-09-08 10:29 次阅读

今天给大家分享关于STM32关于UART的一些新特性,主要针对较新系列STM32(如:STM32H7、G0、G4等)的UART,可通过软件改变Rx和Tx引脚、电平反转、高低反序、介绍超时等。

支持RXD和TXD管脚互换

有些时候,我们在外接RS232芯片时,可能会将RXD和TXD两根线接反。这类低级错误,一般是老司机才会犯。

如果大家知道USART的TXD和RXD管脚可以互换,那么在连接外设RS232芯片时,如果发生错误,就不必再修改硬件,只需直接在软件中将RXD和TXD的管脚反转过来即可修正错误。

参考上图,设置SWAP位,即可将RXD和TXD管脚互换。

支持接收和发送的电平极性反转

第二个新特性:Tx和Rx电平极性反转。 通常默认串口电平是高电平为逻辑1,低电平为逻辑0。而在STM32的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传输

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • STM32
    +关注

    关注

    2239

    文章

    10671

    浏览量

    348755
  • RS232
    +关注

    关注

    13

    文章

    702

    浏览量

    93473
  • uart
    +关注

    关注

    22

    文章

    1159

    浏览量

    99961

原文标题:UART的Rx和Tx引脚如何互换,电平如何反转

文章出处:【微信号:strongerHuang,微信公众号:strongerHuang】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    CYT2B9如何控制UART RxTx

    嗨 我正在使用 CYT2B9。 硬件UART 线路由 1 根导线组成。 因此,UART 通信是在 MCU 的 TX/RX
    发表于 03-05 07:51

    芯片间RXTX通讯问题

    4信号为低电平,MOS管打开开始通信;那UART_TX4信号为高电平,MOS管不是关闭了么,如何通信呢?4)有人说芯片间的RXTX通讯是不
    发表于 11-25 15:50

    Uart Tx/Rx脚位如何定位?

    请问在Uart初始化时,如何设置其TxRx是哪个脚位? 看到有个UARTPinMuxSetup(0);设置Uart0的输入输出使能,如下: Uar
    发表于 06-21 06:00

    UART:动态TX/RX引脚选择

    嗨,我正在启动一个新的项目,可以使用PIC12F1572。显然,UART TX可以在RA0或RA4和RX上设置RA1或RA5。在程序执行过程,这个配置会改变吗?或者它是为整个程序设置
    发表于 11-09 15:26

    STM32 CAN总线调试对外输出数据输出引脚RX/TX,用示波器观察是何种电平情况?

    主要问几个CAN总线物理层上的问题1.CAN节点不接入总线网络!!!(注意)(1).若此时对外输出数据,STM32 can总线输出引脚RX/TX(接入CAN收发器之前),用示波器观察,
    发表于 11-28 08:54

    AXI UART 16550上的rxtx端口在哪里?

    UARTlite时,当我显示UART的所有引脚时,我可以看到rxtx引脚。提前致谢。以上来
    发表于 03-22 14:47

    STM32关于UART的一些新特性

    今天给大家分享关于STM32关于UART的一些新特性,主要针对较新系列STM32(如:STM32H7、G0、G4等)的UART,可通过软件改
    发表于 02-17 06:27

    请问为什么在使用标准CubeMX代码和HAL函数以1线(半双工)UART模式传输后会设置溢出标志?

    数据反转:禁用TXRx 引脚交换:禁用超限:启用DMA 出现 RX 错误:启用MSB 优先:禁用当我尝试以下代码时,似乎
    发表于 12-02 06:31

    为什么无法在STM32WB50CG项目“Zigbee_SE_Msg_Server_Router”交换 UARTTX/RX引脚

    我正在尝试交换 UARTTX/RX 引脚,但如果没有 Zigbee_SE_Msg_Server_Router 项目中不存在的项目配置文件,我将无法实现。我试图更改“hw_conf
    发表于 01-04 07:33

    STM32F777可交换的Tx/Rx引脚配置 在哪里可以找到更多信息?

    STM32F777 在第 2.25 节 [U(S)ART] 下有一个项目符号:可交换的 Tx/Rx 引脚配置在哪里可以找到有关为 UART
    发表于 01-10 07:47

    eSCI TxRx引脚电压电平是多少?

    当我在数据表上搜索这个主题时,我发现了(图片),但我想知道 txrx 引脚上的电压电平是多少(我测试过,我看到是 5v 到 0V)。数据表或参考手册中有关于这个东西的任何信息吗?
    发表于 05-29 07:28

    UARTRxTx引脚如何互换 电平如何反转

    UARTRxTx引脚如何互换电平如何反转
    的头像 发表于 02-26 16:42 1.4w次阅读

    关于STM32UART的一些特性分享

    今天给大家分享关于STM32UART的一些特性,主要针对较新系列STM32(如:STM32H7、G0、G4等)的UART,可通过软件改变
    的头像 发表于 03-20 11:34 4577次阅读

    UARTRxTx引脚如何互换电平如何反转

    今天给大家分享关于STM32关于UART的一些新特性,主要针对较新系列STM32(如:STM32H7、G0、G4等)的UART,可通过软件改
    发表于 12-20 19:33 4次下载
    <b class='flag-5'>UART</b>的<b class='flag-5'>Rx</b>和<b class='flag-5'>Tx</b><b class='flag-5'>引脚</b>如何<b class='flag-5'>互换</b>,<b class='flag-5'>电平</b>如何<b class='flag-5'>反转</b>

    TX/RX传输的MOS电平转换电路设计案例

    今天给大家分享下TX/RX传输的MOS电平转换电路设计案例,既规诫自己以后设计电路需严谨再严谨,也向大家再次从犯错纠错的角度介绍TX/RX
    的头像 发表于 08-03 11:01 4125次阅读
    <b class='flag-5'>TX</b>/<b class='flag-5'>RX</b>传输的MOS<b class='flag-5'>电平</b>转换电路设计案例