关于结构体嵌套中的数组
看了几个小时了,还是没弄明白,现在把相关的定义都贴出来,请各位帮忙
#define ECCSMSG8_DEF 14
struct candata
{
struct dataflg FLG;
uchar8 COUNT;
uchar8 DATA[8];
};
#define CANDATA ((struct candata *)&vCANDATA_bios)
uchar8 CANDATA_bios[37][10] ;
struct eccsmsg8
{
uchar8 DTCCODE_L; /* DT0 */
uchar8 DTCCODE_H; /* DT1 */
uchar8 ENSTNG :1; /* DT2 bit7 */
uchar8 ECMNG :1; /* DT2 bit6 */
uchar8 ETCNG :1; /* DT2 bit5 */
uchar8 FCNG :1; /* DT2 bit4 */
uchar8 CANNGF :1; /* DT2 bit3 */
uchar8 :1; /* DT2 bit2 */
uchar8 ECSMSG8C :2; /* DT2 bit1-0 */
uchar8 :8; /* DT3 */ /* [192]M */
uchar8 :8; /* DT4 */ /* [192]M */
uchar8 :6; /* DT5 bit7-2 */ /* [192]M */
uchar8 ISSAP :1; /* DT5 bit1 */ /* [192]M */
uchar8 SPTMD_LMP :1; /* DT5 bit0 */ /* [192]M */
uchar8 IDSTSTB :1; /* DT6 bit7 */ /* [192]M */
uchar8 IDSTSTS :1; /* DT6 bit6 */ /* [192]M */
uchar8 ISACT :1; /* DT6 bit5 */ /* [192]M */
uchar8 ISBRKREQ :1; /* DT6 bit4 */ /* [192]M */
uchar8 ISINDMD :2; /* DT6 bit3-2 */ /* [192]M */
uchar8 ISMSKSW :1; /* DT6 bit1 */ /* [192]M */
uchar8 CHRGLREQ :1; /* DT6 bit0 */ /* [192]M */
uchar8 SHARE_ECO_BOOST :8; /* DT7 */ /* [206]M */
};
vCANDATA_bios[14][9]即ECCSMSG8.SHARE_ECO_BOOST,是怎么得来的?
#define ECCSMSG8 (*((struct eccsmsg8 *)(CANDATA[ECCSMSG8_DEF].DATA)))#define ECCSMSG8_DEF 14
struct candata
{
struct dataflg FLG;
uchar8 COUNT;
uchar8 DATA[8];
};
#define CANDATA ((struct candata *)&vCANDATA_bios)
uchar8 CANDATA_bios[37][10] ;
struct eccsmsg8
{
uchar8 DTCCODE_L; /* DT0 */
uchar8 DTCCODE_H; /* DT1 */
uchar8 ENSTNG :1; /* DT2 bit7 */
uchar8 ECMNG :1; /* DT2 bit6 */
uchar8 ETCNG :1; /* DT2 bit5 */
uchar8 FCNG :1; /* DT2 bit4 */
uchar8 CANNGF :1; /* DT2 bit3 */
uchar8 :1; /* DT2 bit2 */
uchar8 ECSMSG8C :2; /* DT2 bit1-0 */
uchar8 :8; /* DT3 */ /* [192]M */
uchar8 :8; /* DT4 */ /* [192]M */
uchar8 :6; /* DT5 bit7-2 */ /* [192]M */
uchar8 ISSAP :1; /* DT5 bit1 */ /* [192]M */
uchar8 SPTMD_LMP :1; /* DT5 bit0 */ /* [192]M */
uchar8 IDSTSTB :1; /* DT6 bit7 */ /* [192]M */
uchar8 IDSTSTS :1; /* DT6 bit6 */ /* [192]M */
uchar8 ISACT :1; /* DT6 bit5 */ /* [192]M */
uchar8 ISBRKREQ :1; /* DT6 bit4 */ /* [192]M */
uchar8 ISINDMD :2; /* DT6 bit3-2 */ /* [192]M */
uchar8 ISMSKSW :1; /* DT6 bit1 */ /* [192]M */
uchar8 CHRGLREQ :1; /* DT6 bit0 */ /* [192]M */
uchar8 SHARE_ECO_BOOST :8; /* DT7 */ /* [206]M */
};
vCANDATA_bios[14][9]即ECCSMSG8.SHARE_ECO_BOOST,是怎么得来的?
...全文
相关推荐
定义嵌套结构体数组
定义复杂结构体—包括嵌套结构体数组,并显示结构体所占字节数。
结构体嵌套(c语言)
在学习嵌入式的时候看到很多嵌套 结构体,一直不会,最近自己对照写了简单的程序,嵌套了2次,对初学者很有应该有帮助,用的是多层次结构的,编译用的VC++6.0软件。
cpp代码-结构体数组,结构体嵌套的调用 小测答案及思路
cpp代码-结构体数组,结构体嵌套的调用 小测答案及思路
结构体使用详解,与结构体如何嵌套使用
详细介绍了,结构体的声明,初始化,与使用成员变量的各种方法,其中最大的亮点是结构体的嵌套使用,类和联合也是同样的道理,大家共同学习呀!!
C语言实例循环嵌套数组指针函数结构体
C语言的简单基本实例,包括循环、嵌套、数组、指针、函数、结构体等内容。


