OpenEdv-开源电子网

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

不同版本的MDK编译的效果不一样!!!!

[复制链接]

18

主题

75

帖子

0

精华

初级会员

Rank: 2

积分
136
金钱
136
注册时间
2016-12-24
在线时间
29 小时
发表于 2017-2-9 21:02:41 | 显示全部楼层 |阅读模式
1金钱
有没有人遇到过这样的一个问题,同样的一个程序,用5.14版本的MDK编译和用4.72版本编译的效果不一样呢?两个都有问题,但问题不一样,两个编译的效果结合起来就是想要的效果,这是为什么啊?

最佳答案

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

很正常的。编译器有变化,有细微差异是很正常的。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2017-2-9 21:02:42 | 显示全部楼层
很正常的。编译器有变化,有细微差异是很正常的。
回复

使用道具 举报

13

主题

448

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1755
金钱
1755
注册时间
2015-2-7
在线时间
369 小时
发表于 2017-2-9 21:06:35 | 显示全部楼层
不清楚楼主想问什么问题?有什么不一样的效果?
回复

使用道具 举报

33

主题

984

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8036
金钱
8036
注册时间
2014-8-13
在线时间
1595 小时
发表于 2017-2-9 21:44:30 | 显示全部楼层
估计是两个版本的项目用的优化级别不同。当然,也可能用到了MDK版本更新了的特性。
回复

使用道具 举报

18

主题

75

帖子

0

精华

初级会员

Rank: 2

积分
136
金钱
136
注册时间
2016-12-24
在线时间
29 小时
 楼主| 发表于 2017-2-9 23:31:03 来自手机 | 显示全部楼层
电子之旅 发表于 2017-2-9 21:06
不清楚楼主想问什么问题?有什么不一样的效果?

就是那个usb虚拟串口的程序,在官方project里面修改的,添加了屏幕,初始化完屏幕后初始化usart1,接着就是官方的代码,然后出现的问题是4的版本可以显示屏幕,串口没试过正常与否,usb口认不出来是虚拟串口,5的结果是直接什么也不能显示,屏幕初始化都过不去,接着就是去掉屏幕初始化和usart初始化,可以识别usb,分析了一下,主要是只要经过GPIO_Init的都会被卡死,程序貌似只允许一个GPIO_Init两个就会冲突,usb不能被识别应该也是卡在了usb的GPIO上了,大神见过类似的问题吗?
回复

使用道具 举报

18

主题

75

帖子

0

精华

初级会员

Rank: 2

积分
136
金钱
136
注册时间
2016-12-24
在线时间
29 小时
 楼主| 发表于 2017-2-9 23:36:02 来自手机 | 显示全部楼层
mack13013 发表于 2017-2-9 21:44
估计是两个版本的项目用的优化级别不同。当然,也可能用到了MDK版本更新了的特性。

级别都是默认的呀,我是觉得没事搞什么优化的,画蛇添足,正常的程序都给搞得不正常了,我们一写代码的时候是不是要注意不同函数的变量尽量不要名字一样啊,优化的时候会不会错把它们搞混啊?有没有这种可能?
回复

使用道具 举报

15

主题

866

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
7573
金钱
7573
注册时间
2016-11-30
在线时间
643 小时
发表于 2017-2-10 09:17:51 | 显示全部楼层
zhu83453958 发表于 2017-2-9 23:31
就是那个usb虚拟串口的程序,在官方project里面修改的,添加了屏幕,初始化完屏幕后初始化usart1,接着就 ...

不会是多次调用GPIO_Init的问题。建议还是看看程序代码有没有问题吧。
回复

使用道具 举报

18

主题

75

帖子

0

精华

初级会员

Rank: 2

积分
136
金钱
136
注册时间
2016-12-24
在线时间
29 小时
 楼主| 发表于 2017-2-10 13:16:46 来自手机 | 显示全部楼层
lvkanger 发表于 2017-2-10 09:17
不会是多次调用GPIO_Init的问题。建议还是看看程序代码有没有问题吧。

多次调用会有问题吗,出现什么情况会导致几个GPIO_Init冲突呢?每次配置不都是分开的吗?然后我想请教下,usb它的GPIO是不是就不用初始化啊,我看官方的例程里都没有直接对io初始化的地方,在usb_init里也没有看到类似定义的地方呀
回复

使用道具 举报

33

主题

984

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8036
金钱
8036
注册时间
2014-8-13
在线时间
1595 小时
发表于 2017-2-10 20:14:39 | 显示全部楼层
zhu83453958 发表于 2017-2-9 23:36
级别都是默认的呀,我是觉得没事搞什么优化的,画蛇添足,正常的程序都给搞得不正常了,我们一写代码的时 ...

优化还是有必要的。当然有时候优化会坏事的,不过大多数情况下优化都是有利的。

如果不是优化的问题,读一下MDK新版本的更新说明,看看更新了哪些东西,其中有没有项目里用到的。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-24 04:08

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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