这次真让人吐血。。。本来IAR跟ST Link用的挺好的,但是我出去一趟回来就出怪事了,我用IAR打开一个工程,烧进FLASH中开始仿真,(一切正常)可是实际硬件运行的竟然是我上次的程序,而仿真器上运行的是我新开的程序!。。。。 也就是说我电脑和板子的程序不同,但是IAR竟然还在仿真(运行后绿箭头没有了只有反汇编上有箭头),我是这样得出这个结果的
1 我把板子上液晶的显示部分代码全部删掉,编译下载都ok,按全速运行液晶竟然显示的还是我原来的画面(液晶的initialize都去掉了,液晶不可能显示的,唯一可能就是FLASH里的代码根本没动) 2 我干脆换了一个继电器测试工程,编译下载都ok,按下全速运行。。问题相同
我出去了一趟,不知道有没有人动我电脑,现在这情况一直半会实在找不出哪里的问题,可是有一个很奇怪的细节:我回来时继续调我的项目,发现编译时发现下面的代码 if(((0x8000-Ua_AD_After)%(Ua_AD-Ua_AD_After))>((Ua_AD-Ua_AD_After)/2)) 中有个 ( 变成小方块了,就是出现乱码时的空心方块,很奇怪我走之前程序没有问题的,经常编好了程序一放放半天不动都没事的。
ST Link和Jlink都试过了 问题相同 请问是不是IAR有什么配置的地方被人家搞乱了 |