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