|
今天写个程序在FLASH中定义了个数组
const uchar SetInitDa[10] ={30,24,2,204,20,0x33,0x03,0xCD,0x02,1};
然后又定义了个结构体
struct Set
{uchar Mode1Time; //同步脉宽长度
uchar Mode2Time; //非同步脉宽长度
uchar FinMode; //触发模式
uchar Mode1Da; //同步亮度
uchar Mode2Da; //非同步亮度
uint LmDa; //光控值
uint OnOffDa; //光控区间值
uchar LocAdd; //本机地址
uchar D_NId;
uchar SumDa; //数据校验
};
struct Set SetDa;
当有memcpy_P((uchar *)&SetDa,&SetInitDa,10);数值老是出错,
而用 memcpy((uchar *)&SetDa,&SetInitDa,10);时数值却是正确的,但在“库函数”里明明说
6.5.4 Function 文件
6.5.4.1 void * memcpy_P(void * dest, PGM_VOID_P src, size_t n)
memcpy_P()函数类似于 memcpy(),只是 src 字符串位于程序存储器空间中。
不知何故???? |
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|