请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TMS570LS1227 主题中讨论的其他器件:HALCOGEN
您好!
我将 Hercules 开发套件与 TMS570结合使用、我想使用微控制器以1Mbps 的速率通过 CAN 总线发送多条消息、而无需立即接收任何消息。 我将使用峰值 PCAN Pro CAN 转 USB 器件以及示波器来监控总线。
我关注了本 TI 教程的发送方部分(无接收器、我使用 CAN 器件和示波器监控流量): https://training.ti.com/hercules-how-tutorial-can-communication
我执行了以下步骤:
- 在 Halcogen 中、仅启用驱动程序启用下的 CAN1驱动程序。
- 在 Halcogen 中、 将位速率设置为1000并在 CAN1 General 下禁用自动重发送和启用标识符扩展
- 在 Halcogen 中、将 ID 为0x18EFFD88的消息1配置的 TX 和激活线路设置为
- 生成了源文件和头文件(随附的是 halcogen 生成的 CAN.c 文件) e2e.ti.com/.../5700.can.c
- 创建了一个项目、并在 sys_main.c 中编写了以下程序:
#include "sys_common.h" #include "CAN.h" int main (void) { int i = 0; const uint8 message[8]={0x25、0x00、0x00、0xFF、0xFF、 0xFF、0xFF、0xFF}; canInit(); canUpdateID (canREG1、 canMESSAGE_BOX1、0x78EFFD88); for (i= 0;i < 10000;i++) { canTransmit (canREG1、 canMESSAGE_BOX1、消息); } 返回0; } void canErrorNotification (canbase_t *节点、uint32通知) { void canStatusChangeNotification (canbase_t *节点、uint32通知) { void canMessageNotification (canbase_t *节点、uint32 MessageBox) { }
我的问题是、当我运行该程序时、不仅使用 PCAN 的监控程序没有收到消息、而且我也不会使用示波器在总线上看到任何数据。 我唯一能想到的是、我没有初始化 UC 的某些方面、但我不确定如何继续调试此问题。 如果有人能向正确的方向指出我、那将不胜感激!