各位好,本人新手,在使用28035的过程一个问题反复出现。全局变量或者数组在声明时已经初始化为0,仿真时工作正常。烧录后发现程序不对,把变量一个一个用串口发上来发现已经初始化的变量竟然是随机数。如果另外在MAIN函数中重新初始化就正常了,为什么声明时初始化就不对?大家有没有遇到过类似问题。请问什么原因会导致这种情况发生。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
各位好,本人新手,在使用28035的过程一个问题反复出现。全局变量或者数组在声明时已经初始化为0,仿真时工作正常。烧录后发现程序不对,把变量一个一个用串口发上来发现已经初始化的变量竟然是随机数。如果另外在MAIN函数中重新初始化就正常了,为什么声明时初始化就不对?大家有没有遇到过类似问题。请问什么原因会导致这种情况发生。
这是整个工程中的一个子函数,功能是读EEPROM,出问题的变量是s_uwFrameCnt ,在声明时已经初始化为0,但是 if (s_uwFrameCnt < tPackage.uwFrameSum)一直无法进入。串口读tPackage.uwFrameSum等于2。s_uwFrameCnt是一个随机的很大 的数,这个变量没有在其他地方被使用。
您好,这部分看着是没啥问题,不知道是否有进去这段代码,串口发出来的随机数有变化吗?
局部变量可以在定义时初始化,另外是不是开了优化,加 volatile试下。