[应用相关] 为什么进不去 else if(ulStatus == 1)里面

[复制链接]
1125|10
 楼主| feiqi1 发表于 2019-1-27 16:26 | 显示全部楼层 |阅读模式
为什么进不去 else if(ulStatus == 1)里面

void
CANIntHandler(void)
{
    unsigned long ulStatus;
ulStatus = CANIntStatus(CAN0_BASE, CAN_INT_STS_CAUSE);
if(ulStatus == CAN_INT_INTID_STATUS)
    {
               ulStatus = CANStatusGet(CAN0_BASE, CAN_STS_CONTROL);
               g_bErrFlag = 1;
    }
        else if(ulStatus == 1)
    {
                CANIntClear(CAN0_BASE, 1);
                g_ulMsg1Count++;
                g_bErrFlag = 0;
    }     
else
    {
    }
}
androidbus 发表于 2019-1-27 16:53 | 显示全部楼层

程序是StellarisWare\examples\peripherals\can\somole_tx.c进行修改的。
litengg 发表于 2019-1-27 16:55 | 显示全部楼层
管教配置的也对啊,中断也可以进啊。。
qiangweii 发表于 2019-1-27 16:58 | 显示全部楼层
调试时,注意ulStatu值得变化。另外,注意ulStatus定义的类型是否正确
shashaa 发表于 2019-1-27 16:59 | 显示全部楼层
都是官方代码,就只改了管脚配置?
xia00 发表于 2019-1-27 17:02 | 显示全部楼层
按道理正常时,程序会跑到 UARTprintf(" total count = %u\n", g_ulMsgCount);里面
hfdy01 发表于 2019-1-27 17:02 | 显示全部楼层
我用的是9B96芯片,这个是CAN的原理图部分。
CallReceiver 发表于 2019-1-27 17:06 | 显示全部楼层
注意ulStatus定义的类型是否正确
boy1990 发表于 2019-1-27 17:07 | 显示全部楼层
没有执行这状态吧
看看你的CAN中断写了吗
mmuuss586 发表于 2019-1-27 19:50 | 显示全部楼层
bvbgbhbn 发表于 2019-1-28 14:12 | 显示全部楼层
只看这里是看不出具体问题的,需要全局检查。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

424

主题

1616

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部