硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1254|回复: 3
收起左侧

[有问必答] stm32f407 CAN通信,有办法可以测试自己CAN芯片是否坏了么?

[复制链接]

19

主题

28

回帖

85

积分

初级会员

积分
85
发表于 2024-6-18 16:25:05 | 显示全部楼层 |阅读模式
我把CAN芯片取了。初始化能过,
        CAN1_Mode_Init(CAN_SJW_1TQ,CAN_BS2_6TQ,CAN_BS1_7TQ,12,CAN_MODE_NORMAL); //CAN初始化,波特率250Kbps
//        CAN1_Mode_Init(CAN_SJW_1TQ,CAN_BS2_6TQ,CAN_BS1_7TQ,12,CAN_MODE_LOOPBACK); //CAN初始化,波特率250Kbps     
通过获取状态,不能进入 if 判断,如下:
                if(HAL_CAN_GetError(&CAN1_Handler) != HAL_CAN_ERROR_NONE)
                {
                        return 1;
                }
                delay_ms(50);
我通过发送函数也不有返回值,正常模式和回环模式都试过了,

    // 准备发送数据
    TxHeader.StdId = 0x123; // 标准ID
    TxHeader.RTR = CAN_RTR_DATA; // 数据帧
    TxHeader.DLC = 2; // 数据长度
    TxData[0] = 0xCA;
    TxData[1] = 0xFE;
  
    // 发送数据
    can_status = HAL_CAN_AddTxMessage(&CAN1_Handler, &TxHeader, TxData, 0);
    if (can_status != HAL_OK) {
        // 发送失败,CAN可能已损坏
                return can_status;
    }
can_status 一直为 0

请问有办法可以知道CAN收发器是不是坏了么?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 2024-6-18 16:32:08 | 显示全部楼层
测试CAN收发器的好好坏,还是再接一个正常的CAN节点测试比较靠谱。

这个几个自检模式都不太适合

22.png
回复

使用道具 举报

19

主题

28

回帖

85

积分

初级会员

积分
85
 楼主| 发表于 2024-6-18 16:56:24 | 显示全部楼层
eric2013 发表于 2024-6-18 16:32
测试CAN收发器的好好坏,还是再接一个正常的CAN节点测试比较靠谱。

这个几个自检模式都不太适合

我是去采集别人CAN的信息,对方不是24h在线,如果为了检测我自己是不是好的,再做一个测试,那我岂不是还要继续做一个测试 测试芯片的,那不是套娃了呀。。。。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 2024-6-19 09:18:29 | 显示全部楼层
l4568527193 发表于 2024-6-18 16:56
我是去采集别人CAN的信息,对方不是24h在线,如果为了检测我自己是不是好的,再做一个测试,那我岂不是还 ...

这个就跟485PHY一样,同样有这个问题。

得厂家出厂前做好检测,没法独立节点自检。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-12 06:09 , Processed in 0.046545 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表