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.

[参考译文] TMS320F28035:为未初始化的全局变量使用的值

Guru**** 2942040 points

Other Parts Discussed in Thread: TMS320F28035

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1374880/tms320f28035-what-value-is-used-for-uninitialized-global-variables

器件型号:TMS320F28035

工具与软件:

你好


当我们使用 TMS320F28035芯片时、其中定义的全局变量不会在 main 函数中初始化、并且此地址不会在启动器中初始化。

如果在代码中使用此全局变量、该变量的值是多少?


到目前为止、我们在实验室中测试过、该值始终为0;

但程序的同一版本,当客户端测试时,这个值是随机的,有时是0 ,有时是1。

从芯片的角度来看、在什么情况下可以是0、在什么情况下可以是1?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!  

    未初始化的全局变量不会初始化为零。  它们保留为 RAM 中的样子、这意味着加电时既可以是0、也可以是1。 有 各种因素、如电磁干扰、电气噪声、温度、这些因素可能会影响未初始化的值具有随机值(0或1)。

    C 语言标准规定、在程序开始运行之前、必须将没有显式初始化的全局(extern)和静态变量初始化为0。

    此致

    Siddharth