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

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

3天内不再提示

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

黄工的嵌入式技术圈 ? 来源:黄工的嵌入式技术圈 ? 作者:黄工的嵌入式技术 ? 2020-02-26 16:42 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

今天给大家分享关于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
    +关注

    关注

    2296

    文章

    11040

    浏览量

    366812
  • 引脚
    +关注

    关注

    16

    文章

    1845

    浏览量

    53497
  • uart
    +关注

    关注

    22

    文章

    1278

    浏览量

    104428
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    CYW20704 的 UART 4 针(TX/RX/CTS/RTS)是什么形式(推拉或漏极开路)吗?

    你知道 CYW20704 的 UART 4 针(TX/RX/CTS/RTS)是什么形式(推拉或漏极开路)吗?
    发表于 07-04 07:34

    CDMA 前端模块 (Tx 824-849 MHz), (Rx 869-894 MHz) skyworksinc

    ), (Rx 869-894 MHz)的引脚图、接线图、封装手册、中文资料、英文资料,CDMA 前端模块 (Tx 824-849 MHz), (Rx 869-894 MHz)真值表,C
    发表于 06-26 18:29
    CDMA 前端模块 (<b class='flag-5'>Tx</b> 824-849 MHz), (<b class='flag-5'>Rx</b> 869-894 MHz) skyworksinc

    Tx-Rx iPAC FEM 双频 GSM/GPRS skyworksinc

    电子发烧友网为你提供()Tx-Rx iPAC FEM 双频 GSM/GPRS相关产品参数、数据手册,更有Tx-Rx iPAC FEM 双频 GSM/GPRS的引脚图、接线图、封装手册、中文资料、英文
    发表于 06-25 18:34
    <b class='flag-5'>Tx-Rx</b> iPAC FEM 双频 GSM/GPRS skyworksinc

    用于双频 GSM / GPRS / EDGE 的 Tx-Rx 前端模块 skyworksinc

    电子发烧友网为你提供()用于双频 GSM / GPRS / EDGE 的 Tx-Rx 前端模块相关产品参数、数据手册,更有用于双频 GSM / GPRS / EDGE 的 Tx-Rx 前端模块的引脚
    发表于 06-25 18:31
    用于双频 GSM / GPRS / EDGE 的 <b class='flag-5'>Tx-Rx</b> 前端模块 skyworksinc

    TxRx iPAC? 前端模块 – 四频 GSM/GPRS skyworksinc

    电子发烧友网为你提供()TxRx iPAC? 前端模块 – 四频 GSM/GPRS相关产品参数、数据手册,更有TxRx iPAC? 前端模块 – 四频 GSM/GPRS的
    发表于 06-25 18:31
    <b class='flag-5'>Tx</b>–<b class='flag-5'>Rx</b> iPAC? 前端模块 – 四频 GSM/GPRS skyworksinc

    用于双频 GSM / GPRS 的 Tx-Rx iPAC? 前端模块 skyworksinc

    电子发烧友网为你提供()用于双频 GSM / GPRS 的 Tx-Rx iPAC? 前端模块相关产品参数、数据手册,更有用于双频 GSM / GPRS 的 Tx-Rx iPAC? 前端模块的引脚
    发表于 06-25 18:30
    用于双频 GSM / GPRS 的 <b class='flag-5'>Tx-Rx</b> iPAC? 前端模块 skyworksinc

    用于四频 GSM / GPRS 的 Tx-Rx FEM 3 频天线开关支持 skyworksinc

    支持的引脚图、接线图、封装手册、中文资料、英文资料,用于四频 GSM / GPRS 的 Tx-Rx FEM 3 频天线开关支持真值表,用于四频 GSM / GPRS 的 Tx-Rx FEM 3 频天线开关支持管脚等资料,希望可以
    发表于 06-24 18:32
    用于四频 GSM / GPRS 的 <b class='flag-5'>Tx-Rx</b> FEM 3 频天线开关支持 skyworksinc

    Tx-Rx iPAC? FEM 双频 GSM/GPRS GSM850,PCS1900 skyworksinc

    GSM850,PCS1900的引脚图、接线图、封装手册、中文资料、英文资料,Tx-Rx iPAC? FEM 双频 GSM/GPRS GSM850,PCS1900真值表,Tx-Rx iPAC? FEM 双频 GSM/GPRS G
    发表于 06-23 18:31
    <b class='flag-5'>Tx-Rx</b> iPAC? FEM 双频 GSM/GPRS GSM850,PCS1900 skyworksinc

    Tx-Rx iPAC FEM 双频 GSM/GPRS GSM900,DCS1800 skyworksinc

    GSM900,DCS1800的引脚图、接线图、封装手册、中文资料、英文资料,Tx-Rx iPAC FEM 双频 GSM/GPRS GSM900,DCS1800真值表,Tx-Rx iPAC FEM 双频 GSM/GPRS GSM
    发表于 06-23 18:30
    <b class='flag-5'>Tx-Rx</b> iPAC FEM 双频 GSM/GPRS GSM900,DCS1800 skyworksinc

    用于四频 GSM / GPRS / EDGE 6 频天线开关支持的 Tx-Rx FEM skyworksinc

    支持的 Tx-Rx FEM的引脚图、接线图、封装手册、中文资料、英文资料,用于四频 GSM / GPRS / EDGE 6 频天线开关支持的 Tx-Rx FEM真值表,用于四频 GSM / GPRS / EDGE 6 频天线开关
    发表于 06-17 18:30
    用于四频 GSM / GPRS / EDGE 6 频天线开关支持的 <b class='flag-5'>Tx-Rx</b> FEM skyworksinc

    Tx-Rx 前端模块,用于四频 GSM / GPRS,支持 4 频天线开关 skyworksinc

    开关的引脚图、接线图、封装手册、中文资料、英文资料,Tx-Rx 前端模块,用于四频 GSM / GPRS,支持 4 频天线开关真值表,Tx-Rx 前端模块,用于四频 GSM / GPRS,支持 4 频天线开关管脚等资料,希望可以
    发表于 05-29 18:29
    <b class='flag-5'>Tx-Rx</b> 前端模块,用于四频 GSM / GPRS,支持 4 频天线开关 skyworksinc

    RX+/- 和 TX+/- 引脚的绝对最大额定值是多少?

    Q1) RX+/- 和 TX+/- 引脚的绝对最大额定值是多少? 目标引脚→ US_RXP/M,,US_TXP/M,DSx_RXP/M,DSx_TXP/M Q2-1)
    发表于 05-21 08:13

    stm32的TXRX引脚出现了对地短路是怎么回事?如何解决?

    最近在做某个项目的时候发现stm32芯片中的TXRX引脚出现了对地短路的情况,目前在使用过程出现了2次这样的问题。stm32的TXRX
    发表于 03-06 07:12

    光纤的txrx怎么接

    光纤的TX(发送)和RX(接收)端口的连接方法主要取决于所使用的设备和光纤收发器的类型。以下是一些基本的连接步骤和注意事项: 一、连接步骤 识别端口: TX端口:用于发送数据的光纤端口。 RX
    的头像 发表于 10-25 10:23 ?7003次阅读

    stm32芯片 TXRX引脚出现对地短路的情况

    最近在做某个项目的时候发现stm32芯片中的TXRX引脚出现了对地短路的情况,目前在使用过程出现了2次这样的问题。 如下图所示,stm32的TX
    发表于 09-26 10:54