工具/软件:Code Composer Studio
您好!
我尝试让 Driverlib 工作、但没有成功。 我已经尝试过 loopback.c 和 loopback_interrupts.c 示例、它们运行正常。 现在、我正在尝试 external_transmit。c、但没有发送数据。
我打开了 external_transmit 示例、更改了 for 循环以继续发送消息:
对于(I = 0;I < TXCOUNT;I++)
{
//
//检查错误标志以查看是否发生错误
//
// if (errorFlag)
// {
// asm (" ESTOP0");
//}
//
//验证传输的消息数是否等于的数量
//发送新消息之前收到的消息
//
// if (txMsgCount = rxMsgCount)
// {
CAN_sendMessage (CANA_base、TX_MSG_OBJ_ID、MSG_DATA_LENGTH、
txMsgData);
txMsgCount++;
//}
// else
// {
// errorFlag = 1;
//}
//
//在继续前延迟0.25秒
//
DEVICE_DELAY_US (250000);
//
//递增发送消息数据中的值。
//
txMsgData[0]+= 0x01;
txMsgData[1]+= 0x01;
txMsgData[2]+= 0x01;
txMsgData[3]+= 0x01;
//
//如果超过一个字节、则复位数据
//
if (txMsgData[0]> 0xFF)
{
txMsgData[0]= 0;
}
if (txMsgData[1]> 0xFF)
{
txMsgData[1]= 0;
}
if (txMsgData[2]> 0xFF)
{
txMsgData[2]= 0;
}
if (txMsgData[3]> 0xFF)
{
txMsgData[3]= 0;
}
}
重新构建了它并将其上传到了我的 F28379D LaunchPad。 我已将示波器连接到 TX 引脚、我可以看到、在发送第一条消息时、线路从低电平变为高电平(3.3V)并保持高电平。
我已将"txMsgCount"和"rxMsgCount"变量添加到表达式监视中。 "txMsgCount"持续递增、但 TX 线永远不会切换。
如果有任何建议,将不胜感激。
编辑:我发现、如果我通过启用外部环回模式中的测试模式
CAN_enableTestMode (CANA_base、CAN_TEST_EXL);
则 TX 线会切换。 如果我取出这条线、则 TX 线停止切换。