打印
[其它应用]

关于单片机串口的问题

[复制链接]
1037|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
duo点|  楼主 | 2023-8-16 10:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

最近有点傻了~单片机的串口都不知道怎么玩了

内心突然有了一个困惑~单片机的串口如何做到双工呢?

单片机的数据是从数据寄存器发出的,发的时候不是问题,但收的时候需要从寄存器把数据读出来,这个过程是需要程序员手动触发的

发送方也不知道你啥时候调用接受,那会不会出现这种情况,发送方发过来了,因为没有主动去接受,数据寄存器的数据被覆盖,导致数据丢失呢?

使用特权

评论回复
沙发
慢动作| | 2023-8-18 01:09 | 只看该作者
使用接收缓冲区存储数据,避免立即从寄存器读取,减少数据丢失风险。

使用特权

评论回复
板凳
kzlzqi| | 2023-8-18 11:11 | 只看该作者
处理溢出或丢失的数据,避免影响系统稳定性。

使用特权

评论回复
地板
地瓜patch| | 2023-8-18 23:10 | 只看该作者
c17 发表于 2023-8-23 10:10
在主循环中定期检查接收,减少数据被覆盖的风险。

就是这个定期才容易被覆盖

使用特权

评论回复
5
鱿鱼丝| | 2023-8-19 07:56 | 只看该作者
通过中断触发接收处理,保证及时读取接收数据,无需手动触发。

使用特权

评论回复
6
4y1b3| | 2023-8-19 11:08 | 只看该作者
应用流控制机制,确保数据发送和接收的同步,减少缓冲区溢出。

使用特权

评论回复
7
舒伯特玫瑰| | 2023-8-21 18:46 | 只看该作者
确保缓冲区足够大,处理数据拥塞情况,减少丢失。

使用特权

评论回复
8
610u| | 2023-8-22 13:17 | 只看该作者
分配适当的处理优先级,保证接收数据的及时性。

使用特权

评论回复
9
610u| | 2023-8-22 15:04 | 只看该作者
确保发送和接收速率匹配,避免速度不一致造成的数据丢失。

使用特权

评论回复
10
c17| | 2023-8-23 10:10 | 只看该作者
在主循环中定期检查接收,减少数据被覆盖的风险。

使用特权

评论回复
11
yellow555| | 2023-8-29 12:01 | 只看该作者
使用标志位记录接收状态,通知程序何时读取数据,避免数据冲突。

使用特权

评论回复
12
szt1993| | 2023-9-28 14:55 | 只看该作者
全双工使用422通讯或者收发独立的232通讯

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

440

主题

1666

帖子

1

粉丝