情况:在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
情况:在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
本文标题:在中断中未设置的全局变量的值突然改变的原因
本文链接:https://www.haomeiwen.com/subject/civvfctx.html
网友评论