查看: 3289|回复: 2

[已解决] 【我又来求助了】 使用KEAZ128官方CAN driver会进入defaultisr

[复制链接]
  • TA的每日心情

    2018-6-13 13:17
  • 签到天数: 16 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    6

    主题

    32

    帖子

    0

    注册会员

    Rank: 2

    积分
    101
    最后登录
    2024-6-20
    发表于 2018-2-5 16:46:50 | 显示全部楼层 |阅读模式
    各位大神是否有使用过官方CAN driver,在使用demo code 时 我的程序一旦执行下面红色两句就进入DefaultIsr 然后程序就死了,完全不工作了。

    msCANdrv文件中的Queue_CAN_MB()函数中的两句导致问题,屏蔽后程序正常,但是CAN不工作。
            if (p_TXBuffer->mb == 0xff)                          /* TX_BUFF0 is empty */
            {
                p_TXBuffer->mbp = p_buffer->ID;
                p_TXBuffer->mb = ABuffer;                        /* write buffer # */
                Load_CAN_Buff(AChn, TX_buff0, ABuffer, MB_ID_Ref);
                //p->CANTFLG.Byte = 0x01;                          /* write 1 to TXE to schedule buffer */
                //p->CANTIER.Byte |= 0x01;                         /* enable interrupt for this buffer */

            }


    程序死在启动文件中的DefaultISR
    DefaultISR:
        ldr r0, =DefaultISR
        bx r0
        .size DefaultISR, . - DefaultISR


    论坛里是否有大神遇到过此类问题,请指教,感谢!

    最佳答案

    第二句使能中断,那么你有没有配置对应的中断函数呢? 如果没有中断函数,中断一旦产生,指针无处寻址,就会出现这样的错误。
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    2021-1-9 21:21
  • 签到天数: 56 天

    连续签到: 1 天

    [LV.5]常住居民I

    52

    主题

    677

    帖子

    5

    金牌会员

    Rank: 6Rank: 6

    积分
    1470
    最后登录
    2021-1-9
    发表于 2018-2-6 01:14:32 | 显示全部楼层
    看看是否开启了CAN的时钟?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    712

    主题

    6371

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    24879
    最后登录
    2025-7-20
    发表于 2018-2-6 09:23:18 | 显示全部楼层
    第二句使能中断,那么你有没有配置对应的中断函数呢?
    如果没有中断函数,中断一旦产生,指针无处寻址,就会出现这样的错误。
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-20 16:13 , Processed in 0.090288 second(s), 24 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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