实际测试,CAN_sendMessage()和 CAN_readMessage()执行时间过长,CAN_readMessage接收8bytes 需要4.2us,与波特率没有关系,在28335 ECAN里面取数据,可以直接读寄存器来读取数据,现在DCAN程序执行时间过长,有办法能够解决吗?
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.
实际测试,CAN_sendMessage()和 CAN_readMessage()执行时间过长,CAN_readMessage接收8bytes 需要4.2us,与波特率没有关系,在28335 ECAN里面取数据,可以直接读寄存器来读取数据,现在DCAN程序执行时间过长,有办法能够解决吗?
你好,请问你是在仿真的情况下测得的数据还是单机运行的情况测的?以及你的接收时间是用什么方式测量的?
请看一下这篇帖子:e2e.ti.com/.../4129060
最可靠的验证方法如下:
对于发送,在写入 IFxCMD 寄存器之前切换 GPIO 引脚,然后验证 CANTX 引脚变低需要多长时间。可以在那篇文章中看到它需要 330 nS 到 1 uS 的时间。
对于接收,可以轮询 RxOK 位并在该位变为 1 时切换 GPIO 引脚。然后需要测量从 EOF 位到 GPIO 切换的时间。
另外还要保证设备在CAN收发期间没有其他任务或者中断执行,这一点也很重要。
你好,究竟是什么占用了2.8us是个问题。单独执行“for”循环?
你能在循环之前和之后翻转一个 GPIO 引脚并将波形发送给我吗?