请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:LP-MSPM0G3507Thread 中讨论的其他器件:MSPM0G3507、SN65HVD230、 SYSCONFIG
工具/软件:
您好、
我正在使用 LP-MSPM0G3507 开发套件。 然后创建一个新的示例工程 名称 mcan_single_message_tx_LP_MSPM0G3507_nortos_gss。
此工程基本上在每个 while 循环中编写 CAN 消息。 我进行了调试、看到代码在 while 循环中运行、因此我认为应该是发送消息。
之后,我决定使用 osiloscope。 我连接了 PA12 MCAN0 Tx 引脚、我看到了这一引脚;

我还使用 SN65HVD230 CAN 总线收发器。 有 CANH meas;

这是我当前使用的代码。 我关闭了 FD 模式。
#include "ti_msp_dl_config.h"
int main(void)
{
DL_MCAN_TxBufElement txMsg;
SYSCFG_DL_init();
txMsg.id = ((uint32_t)(0x4)) << 18U;
txMsg.rtr = 0U;
txMsg.xtd = 0U;
txMsg.esi = 0U;
txMsg.dlc = 1U;
txMsg.brs = 0U;
txMsg.fdf = 0U;
txMsg.efc = 1U;
txMsg.mm = 0xAAU;
txMsg.data[0] = LED_STATUS_ON;
while (DL_MCAN_OPERATION_MODE_NORMAL != DL_MCAN_getOpMode(MCAN0_INST));
while (1) {
DL_MCAN_writeMsgRam(MCAN0_INST, DL_MCAN_MEM_TYPE_BUF, 0U, &txMsg);
DL_MCAN_TXBufAddReq(MCAN0_INST, 0U);
for (volatile int i = 0; i < 100000; i++); // gecikme döngüsü
}
}
如果有人能帮助我会很高兴。
此致。