找回密码
 立即注册

QQ登录

只需一步,快速开始

打印 上一主题 下一主题
开启左侧

M467的CANFD如果发送失败应如何处理?

[复制链接]
跳转到指定楼层
楼主
匿名  发表于 2024-1-23 10:48:54 回帖奖励 |倒序浏览 |阅读模式
            if (CANFD_TransmitTxMsg(g_pCanfd, 0, &sTxMsgFrame) != 1)
            {
                printf("Failed to transmit message\n");
            }

例如,由于CANFD收发器芯片,由于上电不统一,这时候应该如何进行处理?重启芯片?

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 顶 踩
回复

使用道具

沙发
chrishu 发表于 2024-1-23 13:40:21 | 只看该作者
启动发送后,它会一直检测已经挂靠的消息,按照次序发送。发送成功后会清除挂靠。没有发出去的下次还会被检测到。发送错误会有错误记录,错误达到规定个数后会产生bus off,bus off后需要重新INIT
回复 支持 反对

使用道具 举报

板凳
匿名  发表于 2024-1-23 14:52:37
CANFD的函数体与声明,入参竟然不一样。。。

canfd.h
extern:
uint32_t CANFD_TransmitTxMsg(CANFD_T *canfd, uint32_t u32TxBufIdx, CANFD_FD_MSG_T *psTxMsg);

canfd.c
source:
uint32_t CANFD_TransmitTxMsg(CANFD_T *psCanfd, uint32_t u32TxBufIdx, CANFD_FD_MSG_T *psTxMsg)
{
……
}
回复 支持 反对

使用道具

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

新唐MCU