OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3212|回复: 6

求教keil 三级优化后函数返回值传递不到

[复制链接]

89

主题

172

帖子

0

精华

高级会员

Rank: 4

积分
607
金钱
607
注册时间
2015-9-7
在线时间
141 小时
发表于 2017-7-28 00:37:05 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 wt13568089592 于 2017-7-28 00:42 编辑

求教keil 三级优化后函数返回值传递不到,这是啥问题?uint16_t a;

uint16_t ret()
{
        return (uint16_t)5;
}

a=yet();

这样a=0;如果是1级优化,就可以正常的得到结果。

最佳答案

查看完整内容[请看2#楼]

仿真找问题,纯软件问题,自己仿真就能解决
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165508
金钱
165508
注册时间
2010-12-1
在线时间
2115 小时
发表于 2017-7-28 00:37:06 | 显示全部楼层
仿真找问题,纯软件问题,自己仿真就能解决
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

5

主题

266

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1526
金钱
1526
注册时间
2016-7-20
在线时间
155 小时
发表于 2017-7-28 09:15:19 | 显示全部楼层
uint16_t ret()
{
        return (uint16_t)5;
}

a=yet();
你确定调的函数是这个yet()?
我是可以什么都不说 ,但不可以什么都不做。
回复

使用道具 举报

89

主题

172

帖子

0

精华

高级会员

Rank: 4

积分
607
金钱
607
注册时间
2015-9-7
在线时间
141 小时
 楼主| 发表于 2017-7-28 10:11:54 | 显示全部楼层
super910906 发表于 2017-7-28 09:15
uint16_t ret()
{
        return (uint16_t)5;

没错啊,我直接用a=yet();一级优化都行,三级优化就不行了!
回复

使用道具 举报

5

主题

266

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1526
金钱
1526
注册时间
2016-7-20
在线时间
155 小时
发表于 2017-7-28 10:27:37 | 显示全部楼层
wt13568089592 发表于 2017-7-28 10:11
没错啊,我直接用a=yet();一级优化都行,三级优化就不行了!

但是你这函数名是ret,你调用yet,有点看不明白了。
我是可以什么都不说 ,但不可以什么都不做。
回复

使用道具 举报

89

主题

172

帖子

0

精华

高级会员

Rank: 4

积分
607
金钱
607
注册时间
2015-9-7
在线时间
141 小时
 楼主| 发表于 2017-7-30 11:34:01 | 显示全部楼层
super910906 发表于 2017-7-28 10:27
但是你这函数名是ret,你调用yet,有点看不明白了。

写错了
调用的ret,手误!
回复

使用道具 举报

38

主题

196

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1174
金钱
1174
注册时间
2015-11-9
在线时间
248 小时
发表于 2017-7-30 14:23:30 | 显示全部楼层
wt13568089592 发表于 2017-7-30 11:34
写错了
调用的ret,手误!

变量a加上 volatile
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-16 13:58

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表