串口通信数据丢失问题

0
回复
116
查看
[ 复制链接 ]

52

主题

2

回帖

196

积分

版主

积分
196
2025-6-26 13:20:32 显示全部楼层 阅读模式
串口通信数据丢失问题》
🔧 问题场景:
"小王用STC89C52发送数据到电脑,发现每10个字节就丢失1个"
📌 解决方案:
  • 初始化设置:

[backcolor=var(--ds-md-code-block-banner-wrap-background-color)][color=var(--dsr-text-2)]c
[color=var(--dsr-icon-fg-1)][color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

复制

[color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

下载





TMOD = 0x20;   // 定时器1模式2TH1 = 0xFD;    // 9600bps@11.0592MHzSCON = 0x50;   // 8位数据位TR1 = 1;       // 启动定时器
  • 改进版发送函数:

[backcolor=var(--ds-md-code-block-banner-wrap-background-color)][color=var(--dsr-text-2)]c
[color=var(--dsr-icon-fg-1)][color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

复制

[color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

下载





void UART_SendByte(unsigned char dat) {    SBUF = dat;    while(!TI);  // 等待发送完成    TI = 0;      // 必须手动清零!}
📊 稳定性测试:
方案
连续发送10万字节错误数

未清TI标志8325
清TI标志0



收藏
送赞
分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则