打印
[STM32F1]

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

[复制链接]
506|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
morrisk|  楼主 | 2020-12-10 23:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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|  楼主 | 2020-12-10 23:21 | 只看该作者
程序是StellarisWare\examples\peripherals\can\somole_tx.c进行修改的。

使用特权

评论回复
板凳
langgq| | 2020-12-10 23:25 | 只看该作者
管教配置的也对啊,中断也可以进啊

使用特权

评论回复
地板
happy_10| | 2020-12-10 23:31 | 只看该作者
调试时,注意ulStatu值得变化

使用特权

评论回复
5
tian111| | 2020-12-10 23:34 | 只看该作者
另外,注意ulStatus定义的类型是否正确

使用特权

评论回复
6
llljh| | 2020-12-10 23:38 | 只看该作者
都是官方代码,就只改了管脚配置?

使用特权

评论回复
7
yinxiangh| | 2020-12-10 23:41 | 只看该作者
注意ulStatus定义的类型是否正确

使用特权

评论回复
8
houcs| | 2020-12-10 23:44 | 只看该作者

没有执行这状态吧
看看你的CAN中断写了吗

使用特权

评论回复
9
renyaq| | 2020-12-10 23:50 | 只看该作者
else if(ulStatus == 1)

先确认这个ulStatus的类型,是不是有机会等于1

使用特权

评论回复
10
bqyj| | 2020-12-10 23:54 | 只看该作者
其实这个操作你不必使用==号

使用特权

评论回复
11
juventus9554| | 2020-12-10 23:57 | 只看该作者
你可以使用逻辑操作
ulStatus|0x01

使用特权

评论回复
12
stly| | 2020-12-14 21:45 | 只看该作者
楼主是不是硬件没有接好啊?

使用特权

评论回复
13
supernan| | 2020-12-14 21:50 | 只看该作者
是不是没有初始化成功啊

使用特权

评论回复
14
pangb| | 2020-12-14 21:55 | 只看该作者
初始化没有成功 当然就进不去了

使用特权

评论回复
15
morrisk|  楼主 | 2020-12-14 21:59 | 只看该作者

其实还是不大明白,我再琢磨琢磨吧,多谢了哈先

使用特权

评论回复
16
wiba| | 2021-1-7 14:19 | 只看该作者
因为一直没有那个状态发生啊

使用特权

评论回复
17
zljiu| | 2021-1-7 14:20 | 只看该作者
能到if语句里边吗

使用特权

评论回复
18
coshi| | 2021-1-7 14:21 | 只看该作者
量一下 晶振起振了吗

使用特权

评论回复
19
aoyi| | 2021-1-7 14:23 | 只看该作者
初始化就没通过

使用特权

评论回复
20
drer| | 2021-1-7 14:42 | 只看该作者
能正常进入中断程序吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

701

主题

6879

帖子

2

粉丝