项目场景:
通过cat1读取obd数据
问题描述
当cat1的CAN口远端没有连接数据,单片机会跑飞。
原因分析:
main函数一开始启用了看门狗,因为CAN没有连接up起来的设备,就会卡在CAN的库函数(while循环),定时器任务在CAN任务之后创建,在定时器任务里面执行喂狗操作,这样就会导致狗没喂进而在CAN库函数里面死循环的过程中中断循环重启系统。
解决方案:
找到原因后,就在CAN任务创建之后任务里面先延时一会,等定时器任务创建开始喂狗操作或者把定时器任务放在CAN任务前面。
CAN死循环的地方放个截图: