一、软件:matlab 2018b STM32CubeMX 5.1.0 STM32-MAT/TARGET 5.1.0 预期:构建simulink的CAN通信模型,在loopback模式(环回模式下)实现数据的自发自收。 二、问题:CAN通信的simulink模型是使用的STM32-MAT/TARGET的安装文件中(D:\MATLAB\STM32-MAT\STM32\STM32demos\Test\CAN\F429I- DISC1\F4_CAN_LoopBackInterrupt)的例程,但是运行的过程中CAN_IT模块(中断模块)一直有报错。 图片中蓝色框中为“CAN_IT模块”,红色框中报错信息;报错信息译文如下为“函数调用发起程序'f4_can_loopbackinterrupt_1/can_it'可能不会调用ssenablesystemwithtid,因为它尚未配置为能够通过sssetexplicitfcsctrl进行此操作。” 这两张图是查到的资料,原文出处:http://max.book118.com/html/2016/0314/37591977.shtm 三、尝试过的解决办法 1、一是想办法消除error,根据查到的资料,需要修改CAN_IT的S-函数,CAN_IT是一个用S-函数编写的用户自定义块,但是STM32-MAT安装文件里的S-函数源文件是以.p文件形式保存,.p文件是作保护代码用的,无法查看和编辑; 2、二是尝试调整STM32cubemx的参数配置,查阅资料尝试各种配置编译CAN_IT还是有这个报错; 3、尝试删除CAN_IT模块后,虽然无报错,但是仍然无法发送接收报文。 希望了解这方面的高手指导一下!万分感谢! 附件为simulink模型和STM32CubeMX的.ioc配置文件 工具包由于大于上传限制,下载链接:http://www.st.com/en/development-tools/stm32-mat-target.html |
有哪位兄弟知道这个问题怎么解决吗?十分感谢! |
对于驱动这边,STM32的相应软件库中有CAN的代码可以参考学习。simuink软件这边还请有经验的大神路过帮忙看看 |
楼主你好,这个STM32工具箱CAN功能算比较复杂,我也在研究这个,可以的话加个QQ2585137428沟通交流下 |