在中断中未设置的全局变量的值突然改变的原因

2019-06-15  本文已影响0人  飞速遗忘

情况:在main.c 中定义uint8_t num, 对num未进行任何操作,该值在中断中发生变化.

原因: 以iar stm8为例 ,在中断文件stm8_it.c中对于外部变量num的定义错误.如main.c中定义uint8_t num, 而在中断c文件中声明extern uint16_t num 就会导致该种情况.地址出现错位.

解决办法:使声明的变量类型一致.uint8_t num 和extern uint8_t num

交流群:639298464

上一篇 下一篇

猜你喜欢

热点阅读