你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

iar for stm8,局部变量运算完全被编译器忽略掉了

[复制链接]
donkeygl 提问时间:2011-4-9 19:13 /
代码如下:

001 void write_high4bit_to_LCD_dataport(uint8_t data)
002 {
003    uint8_t output_status,vdata;
004     vdata=(data&0x0f)
收藏 评论2 发布时间:2011-4-9 19:13

举报

2个回答
废鱼 回答时间:2011-4-9 19:39:34

RE:iar for stm8,局部变量运算完全被编译器忽略掉了

output_status=GPIO_ReadOutputData(LCD_PORT);
读取出状态,如果LCD_PORT是全0的,那么output_status=0;我没有IAR不能仿真,MDK没有问题。
cycloid 回答时间:2013-6-17 01:13:52

回复:iar for stm8,局部变量运算完全被编译器忽略掉了

我用stvd软仿真STM8也遇到过类似的问题,某些简单的赋值语句在汇编中没显示,仿真时被赋值变量不及时更新,直到下次被调用时才更新。
很诡异,但想必只是仿真软件的bug,程序代码的运行应该是正常的。
我找到个土办法可以让被忽略的变量X现身:在被忽略的行后面加X+=0。譬如004行后面加一句vdata+=0,或许就能在调试时看到vdata的真实值了。
 

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版