STM32 在用JLink 调试的时候发现有一条将unsigned char赋值给int的语句始终不能执行,int类型变量的值始终为0;
查资料找到这个问题是编译器优化的原因,也就是说由于编译器优化,赋值语句始终没有执行;
解决办法:
在变量声明前加 volatile 修饰即可,这样就能保证赋值语句不会被编译器优化