|
/////////////////////////////////////////////共用体中嵌套定义结构体///////////////////////////////////////////union _AD_Union_RESULT_{ struct _AD_Struct_RESULT_ { unsigned char AD_RESULT_LO; unsigned char AD_RESULT_HI; }AD_SHORT_BUF; unsigned long AD_RESULT; }AD_LONG_BUF;/////////////////////////////////////////// 这段代码的意思是:定义一个共用体,这个共用体里面有两个变量,第一个变量是用结构体声明的一个变量:AD_SHORT_BUF(包含8*BIT:AD_RESULT_HI+8*BIT:AD_RESULT_LO);第二个变量:16*BIT:AD_RESULT; 其中这个结构体包含:8*BIT:AD_RESULT_HI和8*BIT:AD_RESULT_LO,然后,编译器会给这两个寄存器分配RAM地址,比如可能分配:AD_RESULT_HI:0x32;AD_RESULT_LO:0x33;或者AD_RESULT_LO:0x32;AD_RESULT_HI:0x33;发现这两种分配的区别,知道编译器分配地址的规则; 然后第二个变量是一个16*BIT:AD_RESULT;地址就是第一个结构体变量编译器给的RAM地址; 作用就是实现:16*BIT:AD_RESULT=8*BIT:AD_RESULT_HI+8*BIT:AD_RESULT_LO;
|
|