代码如下: 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,局部变量运算完全被编译器忽略掉了
读取出状态,如果LCD_PORT是全0的,那么output_status=0;我没有IAR不能仿真,MDK没有问题。
回复:iar for stm8,局部变量运算完全被编译器忽略掉了
很诡异,但想必只是仿真软件的bug,程序代码的运行应该是正常的。
我找到个土办法可以让被忽略的变量X现身:在被忽略的行后面加X+=0。譬如004行后面加一句vdata+=0,或许就能在调试时看到vdata的真实值了。