请教一个关于编程的问题

2019-03-24 08:18发布

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


ISR1()
{
pwm=xxx; //修改pwm的值
}
ISR2()
{
CMPA=pwm; //pwm值赋CMPA寄存器
}
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
10条回答
shower.xu
2019-03-25 05:27
huixianfxt 发表于 2017-11-17 10:39
如果赋值操作不止一个指令周期呢?会不会在没有赋值完成的情况下被打断进入下面那个中断(当然是支持抢占 ...

那是中断优先级的事,而且即使赋值分成两条指令,比如先保存常数到Acc,然后再放到寄存器,中断程序也会对A寄存器做入栈出栈操作的。如果硬件不做,你就自己做。

一周热门 更多>

相关问题

    相关文章