8λ?????????ζ?16λINT????????в?????
??8λ??????????16λ?????????????е?int?????????????????????????????????????????????????????????Ч?????????????????16λ?????в???????????Ч?????
??????????п????????????????е?EEPROM?ж?????????????????8λ??A/D??????????????8λ???????????????8λ???????8λ???????????????????????????д??RAM???????м????????16λ??int???????RAM?ж?????????????浽EEPROM???????D/A????????????п?????????????к????????????????????????ò?????????????д??16λ??????????????????????????????
(1)??????? (union)
typedef union{
unsigned int i;
unsigned char c[2];
}u_int;
unsigned char dH = 0x11, dL=0x22;
unsigned int d;
u_int ud;
ud.c[0] = dH;
ud.c[1] = dL;
d = ud.i;
???d = 0x1122;
(2) ?????λ???
???????????????
d = ((unsigned int)dH)<<8 + dL;
????
d = dH;
d <<= 8; // or: d = d<<8; ???????????????????????
d |= dL; // or: d = d | dL; ?????????????????????
(3)??????
unsigned char *cptr;
cptr = (unsigned char*)(&d);
cptr[0] = dH;
cptr[1] = dL;
(4)?????????????
*((unsigned char*)(&d)) = dH;
*((unsigned char*)(&d)+1) = dL;
??
((unsigned char*)(&d))[0] = dH;
((unsigned char*)(&d))[1] = dL;
???????????????????Keil????????????????????????μ??????????????У??????????????????????????????????????????????????
??????????е?(1)???(4)???????????????????????????????????????????????????????÷???(1)???????????????????????????????????????????????д?????????????(4)?????????????????????????Ч???????????е???????

????admin ?????????2018-05-18