STM32 变量无法赋值问题

STM32 在用JLink 调试的时候发现有一条将unsigned char赋值给int的语句始终不能执行,int类型变量的值始终为0;

查资料找到这个问题是编译器优化的原因,也就是说由于编译器优化,赋值语句始终没有执行;

解决办法:

在变量声明前加 volatile 修饰即可,这样就能保证赋值语句不会被编译器优化。

原文地址:https://www.cnblogs.com/lvchaoshun/p/6228359.html