while(1)里面无法进入中断

2019-07-21 04:21发布

各位大神  最近在做一个东西  程序里需要等待一个启动允许信号  启动允许是用CAN中断来改变   中断、接受都没问题  就是在执行到while(!qiyunxu);时进不了中断  这是什么情况啊

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
warship
1楼-- · 2019-07-21 08:12
xxxxxx 发表于 2018-12-29 22:09
qiyunxu初始化就是0  can需要接受的数据有三个,改变qiyunxu是其中之一,其他两个数据都能正常接受,而且 ...

贴CAN中断服务程序
em78447
2楼-- · 2019-07-21 09:55
仿真看看跳到哪里去了
另外你qiyunxu  是在哪里置位和清零的?
xxxxxx
3楼-- · 2019-07-21 14:49
 精彩回答 2  元偷偷看……
xxxxxx
4楼-- · 2019-07-21 20:10
em78447 发表于 2018-12-29 21:35
仿真看看跳到哪里去了
另外你qiyunxu  是在哪里置位和清零的?

是卡在while(!qiyunxu);这里  qiyunxu是在can的接受中断里置0  现在的问题是卡在这里进不去中断  中断可以正常接受数据,肯定不是中断的问题
warship
5楼-- · 2019-07-21 23:51
你说CAN接收,中断都没有问题,
但又说执行到while()时进不了中断,
说法是矛盾的。
首先进while(!qiyunxu);之前要保证qiyunxu=0;才能在这里死循环等待中断,
在中断中要使qiyunxu=1
请仿真调试一下。
xxxxxx
6楼-- · 2019-07-22 00:41
warship 发表于 2018-12-29 21:46
你说CAN接收,中断都没有问题,
但又说执行到while()时进不了中断,
说法是矛盾的。

qiyunxu初始化就是0  can需要接受的数据有三个,改变qiyunxu是其中之一,其他两个数据都能正常接受,而且在can中断里面就是是可以根据上位机发的数据设置qiyunxu是0还是1   现在问题的关键是仿真的时候根本就进不了can中断(发送其他数据时可以正常进入中断)

一周热门 更多>