he-425290 发表于 2013-6-10 14:00:54

STM32编译器的漏洞问题

昨天发现一个很奇怪的问题
 s32 CurrentErrorNow = 0x00;
 s32  DeltaPwm=0;
  CurrentErrorNow=CurrentLimit-X_Parameter; 
  DeltaPwm=27*(CurrentErrorNow-X_Parameter )+(CurrentErrorNow*2);
 
最后一行程序,应该没有问题吧,编译时警告说CurrentErrorNow 和DeltaPwm定义了,但是没有用到。可是程序运行时,CurrentErrorNow和DeltaPwm都是随机数,就是执行到定义那行时也是随机数也不等于0
可是下面这样就行
 s32 CurrentErrorNow = 0x00;
 s32  DeltaPwm=0;
  CurrentErrorNow=CurrentLimit-X_Parameter; 
  DeltaPwm=27*(CurrentErrorNow-X_Parameter )+(CurrentErrorNow+CurrentErrorNow);
 
这样也行:
 s32 CurrentErrorNow = 0x00;
 s32  DeltaPwm=0;
 s32  zhongjian=0;
  CurrentErrorNow=CurrentLimit;
  CurrentErrorNow=CurrentLimit-X_Parameter; 
  zhongjian= CurrentErrorNow*2;
  DeltaPwm=27*(CurrentErrorNow-X_Parameter )+zhongjian;
 
这样也行:
s32 CurrentErrorNow = 0x00;
 s32  DeltaPwm=0;
  CurrentErrorNow=CurrentLimit-X_Parameter; 
  DeltaPwm=27*(CurrentErrorNow-X_Parameter )+(CurrentErrorNow*2+CurrentErrorNow);
 
这个是为什么呢,如果说试子太长,那最后一种情况比前边的都要长啊,也没有问题。
是keil编译的有问题还是STM32有问题,我认为这个试子也不复杂啊。不会这么弱吧。
 
 

he-425290 发表于 2013-6-10 16:09:34

RE:STM32编程时很奇怪的问题

顶一下:)

he-425290 发表于 2013-6-10 18:17:07

RE:STM32编程时很奇怪的问题

再顶一下,其他人也是用的MDK吗,请帮忙试一下吧,是不是有这个问题,我用的芯片是STM32103VET6

he-425290 发表于 2013-6-11 09:52:33

RE:STM32编程时很奇怪的问题

哪位大虾帮忙给试试,看看是不是同样的问题?:o

he-425290 发表于 2013-6-11 11:59:21

RE:STM32编程时很奇怪的问题

再顶一下,在线等答案:funk:

he-425290 发表于 2013-6-11 18:57:29

RE:STM32编译器的漏洞问题

再顶一下:D

he-425290 发表于 2013-6-12 08:42:12

RE:STM32编译器的漏洞问题

再顶,:lol

he-425290 发表于 2013-6-13 16:52:15

RE:STM32编译器的漏洞问题

再顶一下,有没有牛人啊

iifox 发表于 2013-8-7 16:09:28

RE:STM32编译器的漏洞问题

我试没有这样问题呀。
页: [1]
查看完整版本: STM32编译器的漏洞问题