poppig 发表于 2018-8-29 18:42:19

关于stm32 中断回调函数改变的变量在while中不变问题

请问有前辈遇到过这个问题吗?:L

poppig 发表于 2018-8-29 18:44:34

我把红色圈的内容加到 if 判断里面,数组的值就变为中断回调函数中的改变后的量,但是我不想加上这句:Q

jjbboox 发表于 2018-8-29 18:46:17

变量定义加上volatile关键字就可以了。
volatile uint8_t Pwm_test;

toofree 发表于 2018-8-29 23:45:48

调试中发现某些变量值异常,不更新或更新错误。一般是因为被优化掉了,请查看汇编代码去验证。
要想不被优化,那么变量定义时加volatile修饰。
关于这个问题,我回答过好几个小伙伴了。

feixiang20 发表于 2018-8-30 01:03:12

你变量的数值在循环中难道没有设置增加吗,每次循环数值要变化的,你设置的是定值吧

poppig 发表于 2018-8-30 09:55:38

改了,但是还是不行:L
页: [1]
查看完整版本: 关于stm32 中断回调函数改变的变量在while中不变问题