[STM32F1] 为什么进不去 else if(ulStatus == 1)里面

[复制链接]
1339|24
 楼主| morrisk 发表于 2023-1-15 22:09 | 显示全部楼层 |阅读模式
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
    {
    }
}
 楼主| morrisk 发表于 2023-1-15 22:12 | 显示全部楼层
程序是StellarisWare\examples\peripherals\can\somole_tx.c进行修改的。
yszong 发表于 2023-1-15 22:13 | 显示全部楼层
管教配置的也对啊,中断也可以进啊
zwll 发表于 2023-1-15 22:13 | 显示全部楼层
还与单片机所选的晶振有关系
supernan 发表于 2023-1-15 22:17 | 显示全部楼层
调试时,注意ulStatu值得变化
stly 发表于 2023-1-15 22:18 | 显示全部楼层
另外,注意ulStatus定义的类型是否正确
zhanghqi 发表于 2023-1-15 22:21 | 显示全部楼层
都是官方代码,就只改了管脚配置?
pangb 发表于 2023-1-15 22:22 | 显示全部楼层

注意ulStatus定义的类型是否正确
xxmmi 发表于 2023-1-15 22:24 | 显示全部楼层

没有执行这状态吧,看看你的CAN中断写了吗
llljh 发表于 2023-1-15 22:27 | 显示全部楼层
else if(ulStatus == 1),先确认这个ulStatus的类型,是不是有机会等于1
renyaq 发表于 2023-1-15 22:28 | 显示全部楼层
其实这个操作你不必使用==号
supernan 发表于 2023-1-15 22:31 | 显示全部楼层
你可以使用逻辑操作,ulStatus|0x01
heweibig 发表于 2023-1-15 22:37 | 显示全部楼层
楼主是不是硬件没有接好啊?
gongche 发表于 2023-1-15 22:39 | 显示全部楼层
是不是没有初始化成功啊
dengdc 发表于 2023-1-15 22:40 | 显示全部楼层

初始化没有成功 当然就进不去了
tian111 发表于 2023-1-15 22:43 | 显示全部楼层
因为一直没有那个状态发生啊
juventus9554 发表于 2023-1-15 22:47 | 显示全部楼层
能到if语句里边吗
heweibig 发表于 2023-1-15 22:49 | 显示全部楼层

量一下 晶振起振了吗
huangchui 发表于 2023-1-15 22:52 | 显示全部楼层
初始化就没通过
lizye 发表于 2023-1-15 22:53 | 显示全部楼层
能正常进入中断程序吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

701

主题

6879

帖子

2

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