请选择 进入手机版 | 继续访问电脑版
查看: 6686|回复: 7

[求助] lpc54606 CAN 死机问题

[复制链接]

该用户从未签到

74

主题

266

帖子

0

高级会员

Rank: 4

积分
747
最后登录
2023-5-24
发表于 2019-7-2 16:32:09 | 显示全部楼层 |阅读模式
lpc54606 CAN 死机问题,用的是官方驱动,MCAN_TransferSendNonBlocking发送经常突然无法发送。在所EMC抗扰实验的时候会突然挂掉无法继续通讯。无干扰的情况偶尔会重新接入CAN设备会发不出去数据,一直发不出去。CAN是通的。MCAN_EnableInterrupts(base, 0U,kMCAN_BusOffInterruptEnable | kMCAN_ErrorInterruptEnable | kMCAN_WarningInterruptEnable);我打开了这个几个中断。
我知道答案 目前已有7人回答
回复

使用道具 举报

  • TA的每日心情
    开心
    2022-8-19 21:51
  • 签到天数: 252 天

    [LV.8]以坛为家I

    12

    主题

    598

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1983
    最后登录
    2022-8-19
    发表于 2019-7-2 20:34:09 | 显示全部楼层
    关注一下,我的can连续发送也卡在MCAN_TransferSendNonBlocking这个函数,只有官方例程能正常发送。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-7-4 09:29
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    1

    主题

    48

    帖子

    10

    中级会员

    Rank: 3Rank: 3

    积分
    257
    最后登录
    2019-12-23
    发表于 2019-7-3 09:21:53 | 显示全部楼层
    这个可能需要进入到这个函数查看具体block在哪个函数部分了,blocking模式本身会判断很多条件,所以block也很正常,可能是因为硬件配置有问题等等。把问题描述的详细些可能会更有利于判断问题的root cause。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    653

    主题

    6308

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    19847
    最后登录
    2024-4-16
    发表于 2019-7-3 10:03:47 | 显示全部楼层
    首先,你觉得最好的办法是你找到复现这个问题的规律,而且最好是在debug的情况下找到,这样方便观察代码的实际运行状态。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    74

    主题

    266

    帖子

    0

    高级会员

    Rank: 4

    积分
    747
    最后登录
    2023-5-24
     楼主| 发表于 2019-7-3 18:45:41 | 显示全部楼层
    小恩GG 发表于 2019-7-3 10:03
    首先,你觉得最好的办法是你找到复现这个问题的规律,而且最好是在debug的情况下找到,这样方便观察代码的 ...

    现在项目比较急,第一次用到54606这款芯片。mcan有两个问题。第一我用到两个can,can0和can1都用到了。
    #define CAN0_MSG_RAM_BASE 0x20010000U
    #define CAN1_MSG_RAM_BASE 0x20020000U
    这个RAM地址别为这个会不会出问题?
    第二我用到MCAN_TransferReceiveFifoNonBlocking所以都是CAN0和CAN1 都会有一个中断回调函数。 RX fifo0接收都用的是0缓冲区。会不会冲突。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    653

    主题

    6308

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    19847
    最后登录
    2024-4-16
    发表于 2019-7-8 17:09:06 | 显示全部楼层
    xiaoming1021 发表于 2019-7-3 18:45
    现在项目比较急,第一次用到54606这款芯片。mcan有两个问题。第一我用到两个can,can0和can1都用到了。
    # ...

    我觉得可能是第二个冲突引发的。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    74

    主题

    266

    帖子

    0

    高级会员

    Rank: 4

    积分
    747
    最后登录
    2023-5-24
     楼主| 发表于 2019-7-15 14:59:05 | 显示全部楼层
    小恩GG 发表于 2019-7-8 17:09
    我觉得可能是第二个冲突引发的。

    没找到原因,项目终止了。正在研究这款芯片。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5

    主题

    18

    帖子

    1

    注册会员

    Rank: 2

    积分
    104
    最后登录
    2021-7-26
    发表于 2020-3-27 08:41:23 | 显示全部楼层
    在干扰的情况下,我也发现CAN数据无法发送,我后来改成了,发送之前将CAN关闭,再打开初始化,就可以正常发出了。估计是CAN总线上的错误计数器溢出,造成了CAN脱离总线。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-4-17 03:23 , Processed in 0.144234 second(s), 27 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

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