iar for stm8,局部变量运算完全被编译器忽略掉了
代码如下:001 void write_high4bit_to_LCD_dataport(uint8_t data)
002 {
003 uint8_t output_status,vdata;
004 vdata=(data&0x0f)
RE:iar for stm8,局部变量运算完全被编译器忽略掉了
output_status=GPIO_ReadOutputData(LCD_PORT);读取出状态,如果LCD_PORT是全0的,那么output_status=0;我没有IAR不能仿真,MDK没有问题。
回复:iar for stm8,局部变量运算完全被编译器忽略掉了
我用stvd软仿真STM8也遇到过类似的问题,某些简单的赋值语句在汇编中没显示,仿真时被赋值变量不及时更新,直到下次被调用时才更新。很诡异,但想必只是仿真软件的bug,程序代码的运行应该是正常的。
我找到个土办法可以让被忽略的变量X现身:在被忽略的行后面加X+=0。譬如004行后面加一句vdata+=0,或许就能在调试时看到vdata的真实值了。
页:
[1]