共用体的成员是占用一个空间的,如下的定义;
union union_temp16 //共用体 占用的是最长的数据类型
{
U16 un_temp16;
U8 untemp8[2];
} mytemp16;
占得是U16 类型的;
untemp8[0]和untemp8[1]分别是un_temp16的高八位和低八位;
如定义 U16 ADD=0x1634;
unsigned int ADH=2;
unsigned int ADL=1;
mytemp16.un_temp16 = ADD;//把add赋给共用体
ADH = mytemp16.untemp8[0]; //设置目标单元地址的高8 位地址
ADL = mytemp16.untemp8[1];
printf("ADDRH=%x,ADDRL=%x\r\n",ADH,ADL);