STM32 变量无法赋值问题

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

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

解决办法:

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

posted @ 2017-01-12 16:16  prayer521  阅读(575)  评论(0编辑  收藏  举报