编程方面的问题。如题。在c文件的定义了一个全局变量(只有这个C文件会调用)。结果仿真的时候发现这个变量无法赋值,并且初始值也不是预定义的初始值。例子如下,这里保证这个数据没有被其他程序串改,已经做过很多次验证了。本人才疏学浅,请哪位指教一下,万分感谢!
例1:
unsigned char pack_cmd[]="AT+TEST";//c文件初始化定义
void fun1(void)
{
memcpy(target,pack_cmd, sizeof(pack_cmd) );//拷贝的时候发现pack_cmd数组根本不是预定义的数据。定义成const类型就正常。
}
例2:
unsigned char FingPrint_data[20];//定义全局数组
void fun1(void)
{
//unsigned char FingPrint_data[20];//假设定义成函数内局部的数组,赋值完全没问题
FingPrint_data[0] = 0x55;//全局定义,赋值,完全无变化
FingPrint_data[1] = 0xAA;//全局定义,赋值,完全无变化
} |