今天在使用mdk编写stm32f103的程序的时候,写了几个嵌套的if判断,但是在运行程序的时候出现了一些问题,用仿真器进行仿真的时候有几条指令不能运行,总是调过这些指令执行别的。通过自己的查找,最终找到了带来这种错误的来源, 对于代码的优化级别太高了
在设置中选择上图中的优化级别,原先设置的优化级别是-O3,一些代码在进行优化的时候被精简掉了,通过修改这个等级为-O0,就可以执行你编写的每条代码了,这个在进行仿真调试的时候最好是使用低优先级 ,而最终下载程序到单片机中运行的时候可以选择高优先级,这样既能保证程序运行没有错误,又能最终实现一个高效的代码运行~
其中遇到的问题,在此小记一下^.^