430的一个中断问题

2019-07-24 13:37发布

用TIMERA0实现1s中断,在中断函数里做一个3S到达判断,然后对P2端口状态取反(LED显示)
运行结果:当直接在中断函数内对端口对端口状态取反时,运行正常。(注:在主函数内执行了P2OUT = 0XFF;这句时,LED灯亮的时间极短,远不到一秒)当在中断函数内添加了IF判断语句后,端口无反应。找了几天也没有找到原因
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
7条回答
豆腐块
2019-07-25 01:10
正确使用 volatile 变量的条件
  只能在有限的一些情形下使用 volatile 变量替代锁。要使 volatile 变量提供理想的线程安全,必须同时满足下面两个条件:
  ● 对变量的写操作不依赖于当前值。
  ● 该变量没有包含在具有其他变量的不变式中。

一周热门 更多>