zengshiyi 发表于 2017-6-15 09:06:00

STM32L0 LPUART 从STOP模式唤醒接收错误

平台:STM32L011,9600波特率 ,4M内振
运行情况:MCU利用LPUART从STOP模式唤醒,串口数据每个字节间隔时间1秒,芯片每接收到一个字节唤醒,然后立刻再次休眠。唤醒休眠周期为1S
问题:串口如果在1秒的时间间隔(此时MCU处于STOP模式)中出现脉冲干扰,MCU会接收该干扰,但是却会使接下来的一个字节(该字节和干扰之间间隔时间约500ms)的接收错误,这是怎么回事?不进入休眠则不会出现该问题。

发表于 2017-6-15 10:05:31

一般用来唤醒的第一个字节都会丢失。楼主被干扰后是否会唤醒?

zengshiyi 发表于 2017-6-16 14:48:06

安 发表于 2017-6-15 10:05
一般用来唤醒的第一个字节都会丢失。楼主被干扰后是否会唤醒?

第一个正常的用来唤醒的字节是不会丢失的,即使在这个字节之前收到干扰,,收到错误的字节,也能唤醒.但是它不能自动排除之前的干扰,即使这个干扰是一个非常长的低脉冲,比如10ms的低脉冲,他也但做是有效数据接收近来,不知为何

gujiamao 发表于 2017-8-2 09:39:04

只能帮顶了!

开心/xin男孩 发表于 2017-8-2 09:55:19

进来学习一下,期待大神解答

wenyangzeng 发表于 2017-8-2 10:07:39

你可以判断接收标准位,如果不正常本次接收作废。

无薪税绵 发表于 2017-8-2 10:51:38

接收到干扰后,应该是会唤醒的,
然后,程序要作出判断,是否为干扰数据,
如果是,清空接收缓冲区,重新休眠。
页: [1]
查看完整版本: STM32L0 LPUART 从STOP模式唤醒接收错误