在使用EB 配置网络管理时出现无法唤醒问题,问题描述如下:
在网络管理释放网络后,会进入预睡眠状态,计时时间超时后,进入睡眠状态,调用busSleep函数后,在内部调用canSleep函数,打开唤醒中断,关闭Can收发器,准备进入低功耗模式,如果在此时收到应用报文,会将单片机唤醒,并清除唤醒中断,此时应用报文停发,单片机未进入睡眠状态,无唤醒中断,再次发送网络管理报文也无法唤醒单片机,
解决方法:在进入BusSleep模式时,调用CanSleep后,再调用Can_init 对Can进行初始化,防止睡眠被打断后,无法唤醒,
同时在网络管理报文唤醒后,要将其它唤醒源关闭,防止再次进入唤醒中断,(比如IO中断)。重新初始化Can模块,以及其它相关的模块,如通信监控模块。
AutoSar网络管理问题
于 2022-02-13 13:05:18 首次发布