打印
[STM32F1]

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

[复制链接]
874|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 | 只看该作者
还与单片机所选的晶振有关系

使用特权

评论回复
5
supernan| | 2023-1-15 22:17 | 只看该作者
调试时,注意ulStatu值得变化

使用特权

评论回复
6
stly| | 2023-1-15 22:18 | 只看该作者
另外,注意ulStatus定义的类型是否正确

使用特权

评论回复
7
zhanghqi| | 2023-1-15 22:21 | 只看该作者
都是官方代码,就只改了管脚配置?

使用特权

评论回复
8
pangb| | 2023-1-15 22:22 | 只看该作者

注意ulStatus定义的类型是否正确

使用特权

评论回复
9
xxmmi| | 2023-1-15 22:24 | 只看该作者

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

使用特权

评论回复
10
llljh| | 2023-1-15 22:27 | 只看该作者
else if(ulStatus == 1),先确认这个ulStatus的类型,是不是有机会等于1

使用特权

评论回复
11
renyaq| | 2023-1-15 22:28 | 只看该作者
其实这个操作你不必使用==号

使用特权

评论回复
12
supernan| | 2023-1-15 22:31 | 只看该作者
你可以使用逻辑操作,ulStatus|0x01

使用特权

评论回复
13
heweibig| | 2023-1-15 22:37 | 只看该作者
楼主是不是硬件没有接好啊?

使用特权

评论回复
14
gongche| | 2023-1-15 22:39 | 只看该作者
是不是没有初始化成功啊

使用特权

评论回复
15
dengdc| | 2023-1-15 22:40 | 只看该作者

初始化没有成功 当然就进不去了

使用特权

评论回复
16
tian111| | 2023-1-15 22:43 | 只看该作者
因为一直没有那个状态发生啊

使用特权

评论回复
17
juventus9554| | 2023-1-15 22:47 | 只看该作者
能到if语句里边吗

使用特权

评论回复
18
heweibig| | 2023-1-15 22:49 | 只看该作者

量一下 晶振起振了吗

使用特权

评论回复
19
huangchui| | 2023-1-15 22:52 | 只看该作者
初始化就没通过

使用特权

评论回复
20
lizye| | 2023-1-15 22:53 | 只看该作者
能正常进入中断程序吗

使用特权

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

本版积分规则

701

主题

6879

帖子

2

粉丝