你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
chrome
firefox
safari
ie8及以上
ST
意法半导体官网
STM32
中文官网
ST
全球论坛
登录/注册
首页
技术问答
话题
资源
创客秀
视频
标签
积分商城
每日签到
为何函数内部变量初始化不执行!请大师指点
[复制链接]
riptell
提问时间:2014-7-13 17:35 /
stm8s207 下面的函数中u16 adcTemp=0; 该变量在仿真的时候无法初始化。我用的是cosmic。
本人在使用stlink2仿真单步执行时,发现进入该函数后执行 u8 i=0;后应该执行u16 adcTemp=0;
但是仿真的结果是跳过了u16 adcTemp=0;该变量的初始化,这是为什么呢?请高人指点!!!
void ADC_M1 (void)
{
u8 i=0;
u16 adcTemp=0;
adcTemp = AD_START(m1ADCchs);
}
赞
0
收藏
0
评论
6
分享
发布时间:2014-7-13 17:35
举报
请先
登录
后回复
6个回答
hgqlyl
回答时间:2014-7-13 20:21:29
a0a.1 0b0c
RE:为何函数内部变量初始化不执行!请大师指点
“cosmic”是什么?估计是编译器优化了吧!
赞
0
评论
回复
支持
反对
riptell
回答时间:2014-7-13 21:21:55
a0a.1 0b0c
回复:为何函数内部变量初始化不执行!请大师指点
回复第 2 楼 于2014-07-13 20:21:29发表:
“cosmic”是什么?估计是编译器优化了吧!
我优化选项没有开啊!
赞
0
评论
回复
支持
反对
巅峰残狼
回答时间:2014-7-16 21:22:28
a0a.1 0b0c
RE:为何函数内部变量初始化不执行!请大师指点
我也遇到过类似的问题。我定以后发现并没执行,究其原因是因为定义的这部分变量是在条件编译内部使用的,而这部分在程序执行过程中并没有执行到。不知道你是不是这种原因。。。
赞
0
评论
回复
支持
反对
aaa999kk
回答时间:2014-7-17 16:55:34
a0a.1 0b0c
RE:为何函数内部变量初始化不执行!请大师指点
用中断检查哪些没执行到
赞
0
评论
回复
支持
反对
Lovely_STM32
回答时间:2014-7-19 22:24:50
a0a.1 0b0c
RE:为何函数内部变量初始化不执行!请大师指点
u16 adcTemp=0;
adcTemp = AD_START(m1ADCchs);
由程序可以看出,adcTemp最后都会被函数AD_START赋值,那么初始化是没有意义的。
如果你是编译器,你也不会理会该初始化过程!
赞
0
评论
回复
支持
反对
有缘于你
回答时间:2014-7-20 18:15:15
a0a.1 0b0c
RE:为何函数内部变量初始化不执行!请大师指点
u16 adcTemp=0;
adcTemp = AD_START(m1ADCchs);
adcTemp 执行到最后adcTemp=0;完全不起作用的,所以编译器会自动优化掉adcTemp=0;这句话, 用volatile就不会被优化了
赞
0
评论
回复
支持
反对
所属标签
相似问题
关于
意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
RE:为何函数内部变量初始化不执行!请大师指点
回复:为何函数内部变量初始化不执行!请大师指点
“cosmic”是什么?估计是编译器优化了吧!
我优化选项没有开啊!
RE:为何函数内部变量初始化不执行!请大师指点
RE:为何函数内部变量初始化不执行!请大师指点
RE:为何函数内部变量初始化不执行!请大师指点
adcTemp = AD_START(m1ADCchs);
由程序可以看出,adcTemp最后都会被函数AD_START赋值,那么初始化是没有意义的。
如果你是编译器,你也不会理会该初始化过程!
RE:为何函数内部变量初始化不执行!请大师指点
adcTemp = AD_START(m1ADCchs);
adcTemp 执行到最后adcTemp=0;完全不起作用的,所以编译器会自动优化掉adcTemp=0;这句话, 用volatile就不会被优化了