您好,
我在使用RL78F24的CAN模块的时候遇到了问题,我在成功发送CAN报文后tx history无法记录我发送的报文,我应该如何修改?下图是我smartconfigurator中的配置:
还有一个问题,我想要在发送CAN报文后确认发送成功,现在用的是Successful Transmission from a Common FIFO in TX mode for a channel这个中断,但通过这个中断没办法确认到底是那一条报文发送成功,所以我想用tx history来做这个功能,有什么其他更好的方法吗
谢谢,在使用smartconfigurator生成代码时我看到了这个文档
我使用R_CAN_SendByTXMB这个函数发送时,总是返回CAN_ERR_BUF_BUSY,
if (CAN_SUCCESS == rtn)
{
/* Clear TX message buffer status */
CAN_TM_SFR.TMSTSm[txbuf_idx] = CAN_U08_CLR;
/* Check TX message buffer status */
if (!(CAN_TM_SFR.TMSTSm[txbuf_idx])) /* Not clear? */
rtn = CAN_ERR_BUF_BUSY;
}
else
rtn = CAN_ERR_BUF_EMPTY ; /* No operation */
他不能成功清除标志位是怎么回事?你有出现这个问题吗
应该不是时钟配置的问题,你波形图里clock的频率看着正常,你可以量一下通信时CAN clk的频率是不是配置的250K,传输的数据有问题的话先检查下软件,debug逐步调试看一下发送的流程。
用R_CAN_SendByTXMB()发完以后他的传输结果一直在传输中是为什么呢
因为没有收到从机发送ACK帧
可以先参考这两篇RL78F24 CAN moudle的API文档:
https://www.renesas.com/en/document/apn/rl78f24-rs-canfd-lite-module-software-integration-system?r=1552481
www.renesas.com/.../rl78f24-rs-canfd-lite-module-software-integration-system
哦对,忘了这回事,但是也应该有前面那一部分波形吧
没收到ACK他不会一直重发吗
会的,目前从波形来看,主机无法顺利和从机通信,请先确保主机从机通信成功,波形里CLK是正常的,主机也在CAN发送周期内成功发送数据了,但是从机无反应
但是他ACK段之前的仲裁段和数据段波形都显示不正确
你们没有用F24调通过can吗