尊敬的所有人:
我在 TI 开发套件中使用 TMS570LC43x 微控制器的项目中遇到错误、此后我打开本主题。 我正在使用不同的通信外设、包括 SPI 和 CAN。 在后一种情况下、我希望通过 CAN1 Broacast 执行数据的循环传输、而不需要中断(因为预计 CAN 通道上不会接收到信息请求)。 起初、我成功地完成了这段传输过程、能够在输出端传输和读取数据。
然后、我介绍了 FreeRTOS 任务管理、以便能够通过以太网端口引入 UDP 通信。 此后、我不再能够使 CAN 正常工作、因为我总是在 CAN 寄存器中遇到错误(通常在 LEC 寄存器中出现 ACK 或格式错误)。 我已经尝试以最高优先级为 CAN 传输创建一个单个任务、让可以在任务调度程序启动之前进行传输、甚至在执行传输时创建一个关键段、以防不必要的中断损坏任务。 不过,我也不知道该怎么说。 我认为、与只有没有 FreeRTOS 的 CAN 的代码进行比较时、这可能与不同微控制器外设和功能的链接器文件、存储器管理或初始化例程有关。
我乐意接受您提出的任何可以帮助我解决问题的建议。
感谢您的关注和帮助