久芯网

stm32l053串口通讯问题

avatar zyqwxw 提问时间: 2023-07-18 21:16:36 / 未解决
请问用L0系列mcu进行串口通讯,接收数据不定长,只能一个一个字节接收,再判断是否停止接收,这样通讯方式,需要mcu程序如何编写,以L073为例。

如需获得 stm32l053 等器件的更多信息,请点击链接或 点击此处 联系在线客服!

8个回答
  • avatar yklstudent
    回答时间: 2023-07-18 21:44:26

    一个一个字节接收,那就别用DMA了,直接串口中断接收,然后判断是否停止接收,从而决定是否解析帧

  • avatar xmshao
    回答时间: 2023-07-18 22:10:26

    两种种方法可以考虑。第一种,每收到1个数据,启动超时,超时用定时器实现,超时到了视为本次接收完成。 第二种,使用UART的idle中断,出现idle中断视为本次接收完成。

  • avatar xmshao
    回答时间: 2023-07-18 22:32:57

    两种种方法可以考虑。第一种,每收到1个数据,启动超时,超时用定时器实现,超时到了视为本次接收完成。 第二种,使用UART的idle中断,出现idle中断视为本次接收完成。

  • avatar zyqwxw
    回答时间: 2023-07-18 23:05:11
    yklstudent 发表于 2022-9-4 09:27
    一个一个字节接收,那就别用DMA了,直接串口中断接收,然后判断是否停止接收,从而决定是否解析帧 ...

    一个字节一个字节的收,程序每次都启动接收一个字节的接收程序,是不是我理解的?

  • avatar zyqwxw
    回答时间: 2023-07-18 23:24:13
    xmshao 发表于 2022-9-4 17:17
    两种种方法可以考虑。第一种,每收到1个数据,启动超时,超时用定时器实现,超时到了视为本次接收完成。

    一个字节一中断,收到特定字节判断结束。用超时好像意义不大吧。 另外IDLE使用有什么好处?

  • avatar 废鱼
    回答时间: 2023-07-18 23:47:28

    看选择的库文件了。HAL接收一字节中断,接收完毕后掉回调函数,再开启接收一字节。LL库可以自己编写处理过程。

  • avatar hufur
    回答时间: 2023-07-19 00:05:02

    在中断里用超时中断和触发点中断实现

  • avatar 七七baba
    回答时间: 2023-07-19 00:31:24

    空闲中断或者用定时器去判断

会员中心 微信客服
客服
回到顶部