stm32怎么配置成半双工异步通信

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了stm32怎么配置成半双工异步通信相关的知识,希望对你有一定的参考价值。

单线半双方模式通过设置USART_CR3寄存器的HDSEL位选择。在这个模式里,下面的位必须
保持清零状态:
● USART_CR2寄存器的LINEN和CLKEN位
● USART_CR3寄存器的SCEN和IREN位
USART可以配置成遵循单线半双工协议。在单线半双工模式下,TX和RX引脚在芯片内部互
连。使用控制位”HALF DUPLEX SEL”(USART_CR3中的HDSEL位)选择半双工和全双工通信。
当HDSEL为’1’时
● RX不再被使用
● 当没有数据传输时,TX总是被释放。因此,它在空闲状态的或接收状态时表现为一个标准
I/O口。这就意味该I/O在不被USART驱动时,必须配置成悬空输入(或开漏的输出高)。
除此以外,通信与正常USART模式类似。由软件来管理线上的冲突(例如通过使用一个中央仲裁
器)。特别的是,发送从不会被硬件所阻碍。当TE位被设置时,只要数据一写到数据寄存器上,
发送就继续。
参考技术A 你配置成uart就是,注意一下收发控制位。 参考技术B SPI吗

通信教程 | 同步异步,单工双工通信的区别?

关注+星标公众,不错过精彩内容

视频号 | strongerHuang

微信公众号 | strongerHuang

通信的种类和方式有很多,今天为大家分享一下通信中常见的同步、异步,单工、双工通信的区别。

同步、异步通信

通信分为串行和并行通信,一般串行通信的应用场合更多,比如:UART、 I²C、 SPI、 CAN等这些都属于串行通信。

串行通信一般又分为同步和异步通信,同步通信需要同步时钟信号,而异步通信则不需要同步时钟信号。

概念:

  • 同步通信:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。

  • 异步通信:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。

通过定义你应该能测到:像I²C、 SPI这种具有同步时钟的就是同步通信;像UART、 CAN这种没有同步时钟的就是异步通信。

单工、 双工通信

通信根据传输的方法分为单方向通信(即单工),和双向通信(即双工)。

单工通信

单工即数据传输只在一个方向上传输,方向是固定的,不能实现双向通信(A发送数据给B,而B不能发送数据给A),如:收音机广播,你只能听到广播站发出的广播(数据),而你不能反向给广播站发送广播。

双工通信

双工分为 半双工 和 全双工。

半双工

半双工比单工先进一点,传输方向可以切换,允许数据在两个方向上传输。

但是某个时刻,只允许数据在一个方向上传输,可以基本双向通信。

像485、I²C就属于半双工通信。

全双工

比半双工更先进的是全双工,允许数据同时在两个方向传输。发送和接收完全独立,在发送的同时可以接收信号,或者在接收的同时可以发送。它要求发送和接收设备都要有独立的发送和接收能力。

如:RS232、SPI通信等。

用一张图的说明:单工、半双工、全双工通信:

最后

通信领域需要掌握的知识比较多,还有像什么传输方式、编码方式、通信协议等。

对于初学者可能看到这些概念都想放弃了,其实,拆解每一个知识点都不难。

声明:本文素材来源网络,版权归原作者所有。如涉及作品版权问题,请与我联系删除。

------------ END ------------

关注公众号后台回复『通信教程』『单片机』阅读更多相关文章。

回复“加群”按规则加入技术交流群,回复“1024”查看更多内容。

点击“阅读原文”查看更多分享

以上是关于stm32怎么配置成半双工异步通信的主要内容,如果未能解决你的问题,请参考以下文章

STM32串口输出字符串

STM32F103X datasheet学习笔记---USART

STM32通信相关介绍

STM32串口USART1的使用方法

stm32-串口

STM32串口发送接收数据