我使用的是mtk6261,ADS1.2的编译器。我在某个.c文件,定义了一个全局变量,同时赋初值,然后在程序在打印出来,打印的结果跟我赋的初值是不一样的。使用cosnt去修饰就可以,或者重新在程序中再赋值一次。我看了项目的其他文件,很默契的基本上不在全局变量赋初值,但是该项目的同事已经不在这边了,无法获得别的信息了。
static uint8_t device_manufacturer_id[5] = "{31, 32, 33, 34, 35}";(hex数值,问题不给用0x)
void test_vol(void)
{
uint8_t i;
for(i=0;i<5;i++)
{
logDebug("制造商id[%d]\r\n",device_manufacturer_id[i]);
}
}
打印出来的是67 43 43 32 108。
我以为是个例,所以重新定义一组新的全局变量,情况也是赋初值跟打印的不一致,需要重新赋值才行。
目前这个问题已经疑惑好久了,希望有人能帮忙解惑,感谢。