你好,
在我的项目中,设备的默认状态是延长睡眠。在P1_0引脚的低信号接收上,设备唤醒,启动5秒定时器并设置uart读取功能。当5秒计时器到期时,设备进一步进入睡眠模式。UART数据在这5秒内发送到设备。Uart2用于实现。
我正在调试模式下运行设备。我已经在唤醒函数、uart读取完成函数和计时器失效函数中插入了断点。
当我将读取的字节数设置为10或更少时,流工作正常。例如,在接收到中断时,控制到达唤醒函数,然后在接收到enitreuart数据时,到达uart_read_callback函数,在定时器到期时到达定时器回调函数。
当要读取的字节数设置为16时,就会发生这个问题。然后,控件不会到达计时器到期回调。例如,在唤醒时,设备接收到16字节的数据,但是控制既没有达到计时器到期,也没有进入睡眠模式。
请说明可能的原因。
谢谢
设备:
嗨wisilica,
请您检查一下,当计时器没有到达到期时间时,您的代码结束在哪里?您的代码仍然在运行,还是进入了断言?从问题的描述中,我看不出问题可能是什么。
谢谢,PM_Dialog