32G8K64 最简单的C代码都运行异常
<p>如图所示,if(admark==0X00000000),这个条件应该是符合的,进入return 0这条指令执行,可实仿真的时候直接就执行后面的代码了,太扯了吧,编译优化等级已经调成0了,这是我从stm32转到stc的第一个项目,难道要我转回去?还希望stc的技术能出来解答一下</p><p><img src="data/attachment/forum/202412/09/113840k1118311p42drd81.png" alt="1733715368447.png" title="1733715368447.png" /></p>
排查这个变量是否在中断里被修改过,如果被修改过,需要加volatile修饰关键字 VCC 发表于 2024-12-9 11:45
排查这个变量是否在中断里被修改过,如果被修改过,需要加volatile修饰关键字 ...
这个变量只是一个全局的临时变量,没有被中断用过 难道是猜吗,直接查看下就变量值 <p>尔...对照汇编来看吧,或许很快就知道结果了.</p>
<p>还是那句话,编译没那么多BUG,硬件也没那么多BUG,</p>
<p>出问题先找原因,大多数情况后来都被发现是自己的原因。</p>
<p>admark是什么类型的变量,整个源码去掉需保密的部分丢上来吧</p>
if(admark==0X00000000)
改成 if(admark==0**x**00000000)
<p>代码也不全</p>
<p>楼主,找到原因没</p>
if(admark==0X00000000)
改成 if(admark==0x00000000),试试