请教一个关于编程的问题

2019-03-24 08:18发布

如果我需要在一个中断服务子程序里面修改一个变量值,在另一个中断服务子程序里面调用它,需要注意什么?直接调用?像下面这段示例就可以了吗?
int pwm; //定义变量
main{
....
}


ISR1()
{
pwm=xxx; //修改pwm的值
}
ISR2()
{
CMPA=pwm; //pwm值赋CMPA寄存器
}
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
2835
1楼-- · 2019-03-25 06:06
lcofjp 发表于 2017-11-16 19:37
没问题。

好的,谢谢版主
2835
2楼-- · 2019-03-25 06:40
 精彩回答 2  元偷偷看……
ienglgge
3楼-- · 2019-03-25 06:49
2835 发表于 2017-11-17 16:34
目前赋值的中断发生周期远小于读取的中断产生周期。就是ISR1发生频率大于ISR2发生频率的很多倍。而且前者 ...

赋值的中断发生周期远小于读取的中断产生周期,这比赋值远大于读取的情况应该是好一些的。可能出现,读取的是一个值,然后被抢断,值被改了。但是读取中断处理的是改之前的值。当下一次,读取时,才得到正确的值,你把读取函数的执行内容好好处理一下,如果值不变,应该执行什么。比如保持状态,什么的,减少影响。应该问题不大。
ChrisKyrie
4楼-- · 2019-03-25 10:29
变量定义为全局变量

一周热门 更多>

相关问题

    相关文章