This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具与软件:
尊敬的 TI:
我将 TMS320F28379D 与 PCANFD (CAN 转 USB)适配器配合使用。 我的问题是无法在两端正确接收数据。 在板侧、我将比特率设置为500kbps、但在 PCANFD 侧、我只能在比特率设置为250kbps 时接收数据。 将比特率设置为250 kbps 时、可以查看数据、但不能查看500 kbps。
我不确定为什么会发生这种情况。 时钟很重要吗? 比特率、预分频器或 SJW (同步跳转宽度)是否会在这个问题中起作用? 我很难理解如何设置正确的配置。 我查看过 TI 技术文档、但找不到明确的答案。 如果您能提供有关如何解决此问题的清晰说明和指导、将会非常有帮助。
#include "device.h" #include "driverlib.h" #include <can.h> #define TX_MSG_OBJ_ID 1 #define MSG_DATA_LENGTH 4 uint16_t data = 0; void main(void) { Device_init(); Device_initGPIO(); // GPIO_17_CANRXB // GPIO_12_CANTXB GPIO_setPinConfig(GPIO_17_CANRXB); GPIO_setPinConfig(GPIO_12_CANTXB); CAN_initModule(CANB_BASE); CAN_setBitRate(CANB_BASE, DEVICE_SYSCLK_FREQ, 500000, 16); CAN_setupMessageObject(CANB_BASE, TX_MSG_OBJ_ID, 0x01, CAN_MSG_FRAME_STD, CAN_MSG_OBJ_TYPE_TX, 0, CAN_MSG_OBJ_NO_FLAGS, MSG_DATA_LENGTH); CAN_startModule(CANB_BASE); EINT; while(1){ CAN_sendMessage(CANB_BASE, TX_MSG_OBJ_ID, MSG_DATA_LENGTH, (uint16_t)data); while(((HWREGH(CANB_BASE + CAN_O_ES) & CAN_ES_TXOK)) == CAN_ES_TXOK) { } data++; } }