查看: 2714|回复: 1

FM33LG025低功耗串口问题

[复制链接]

1

主题

1

帖子

23

积分

初级工程师

Rank: 1

积分
23
发表于 2023-3-2 15:16:59 | 显示全部楼层 |阅读模式
  1. if((FL_ENABLE == FL_LPUART_IsEnabledIT_RXBuffFull(LPUART2))
  2.             && (FL_SET == FL_LPUART_IsActiveFlag_RXBuffFull(LPUART2)))      //接收数据中断
  3.     {
  4.         temp = FL_LPUART_ReadRXBuff(LPUART2);                               //接收数据
  5. //        FL_LPUART_WriteTXBuff(LPUART2, temp);
  6.         FL_LPUART_WriteTXBuff(LPUART2, 0x30);
  7.         FL_LPUART_WriteTXBuff(LPUART2, 0x31);
  8.         FL_LPUART_WriteTXBuff(LPUART2, 0x32);
  9.         FL_LPUART_WriteTXBuff(LPUART2, 0x33);
  10.         FL_LPUART_WriteTXBuff(LPUART2, 0x0d);
  11.         FL_LPUART_WriteTXBuff(LPUART2, 0x0a);
  12.         
  13.         FL_LPUART_ClearFlag_RXBuffFull(LPUART2);
  14.     }
复制代码
收到什么就发什么可以正常发,但是像代码那样发其他的数据就会有问题 c0ab8c38571f5a5aae5a7573436f4c7.png
这里应该收到的是“0123\r\n”的但只发出来了第一个数据,
后面的数据都丢了,看波形也是只有第一个字节有波形,发完第一个字节后就一直是高电平了
11111.png
直接把这一段代码放main函数的死循环里发能全发出来但是数据顺序是乱的
fe386e89b4f8e815b859a96f02801f1.png
这样能发啥回啥,不丢数据


回复

使用道具 举报

151

主题

845

帖子

4405

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4405
发表于 2023-3-14 10:48:56 | 显示全部楼层
你往buf里面写,单片机去发送,单片机还没发送完,你又去写,直接导致没法送完就被覆盖。 请参考查询发送例程
回复

使用道具 举报

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

本版积分规则

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