找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3|回复: 0
打印 上一主题 下一主题
收起左侧

串口发送数据滞后

[复制链接]
跳转到指定楼层
楼主
ID:253030 发表于 2026-6-15 09:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  while(1)
  {
if(flag==1){
flag = 0;
HAL_UART_Transmit(&huart1, tx, 2, 100);
HAL_Delay(500);
HAL_UART_Receive_IT(&huart1, rx, 2);            
}
  }



void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart){
  if(huart->Instance==USART1){          //RS485接收到从机应答数据信号
flag = 1;
tx[0]=rx[0];
tx[1]=rx[1];
}
}

串口调试助手
[2026-06-15 09:45:12.580]
TX:5689
[2026-06-15 09:45:12.611]
RX:56 89
[2026-06-15 09:45:16.207]
TX:1245
[2026-06-15 09:45:16.233]
RX:56 89
[2026-06-15 09:45:18.217]
TX:1245
[2026-06-15 09:45:18.252]
RX:12 45
[2026-06-15 09:45:25.239]
TX:1245
[2026-06-15 09:45:25.265]
RX:12 45
数据变化时,第一次发送的是旧的值,第二次发送的才是新赋值的数据
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表