Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
我们现在使用SDK的CAN驱动,使用freeRTOS系统。在短接CANH和CANL低后触发CAN0_ErrorCallBack,中断类型为FLEXCAN_BUS_OFF_ENTER_EVENT。我们想在这个callback中去重置CAN驱动,但是在回调中调用FLEXCAN_DRV_Deinit和FLEXCAN_DRV_Init函数会卡死在断言中。请问这个CAN驱动的销毁与重新初始化有什么方法或者示例吗?
callback中置个标志,在外面deinit+init试试
https://forum.ytmicro.com/topic/1206/can-2-次初始化进-hardfault-的问题分析,可以检查一下是否在其他中断里也调用了 CAN 初始化函数,导致了这个问题
swust 在中断外面调用可以恢复CAN驱动了,这个deinit和init是只能在中断外面调用是吗?
是的 ,之前那样用套娃了
swust 好的,了解啦。谢谢!
快速上手云途开发生态
发帖前请查看
帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...