21,597
社区成员
发帖
与我相关
我的任务
分享
typedef struct
{
vIuint8 A[6];
vIuint8 B1[4];
vIuint8 B2[4];
vIuint8 B3[4];
vIuint8 C1[16];
vIuint8 C2[16];
vIuint8 D;
}STRUCT1;
STRUCT1 xStruct;
for(int i=0; i<6; i++)
{
xStruct.A[i] = i;
}
for(int i=0; i<4; i++)
{
xStruct.B1[i] = i;
xStruct.B2[i] = i+4;
xStruct.B3[i] = i+8;
}
for(int i=0; i<16; i++)
{
xStruct.C1[i] = i;
xStruct.C2[i] = i+16;
}
// xStruct.C1 = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
// 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F};
// xStruct.C2 = { 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
// 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F};
xStruct.D = 0x12;
PLX_WriteAddrLocalBlock(hDevice, PLX_ADDR_SPACE0, ADDR_DATA_BASE,
sizeof(STRUCT1), &xStruct, WDC_MODE_32, WDC_ADDR_RW_DEFAULT);
STRUCT1 yStruct;
memset(&yStruct, 0, sizeof(STRUCT1));
PLX_ReadAddrLocalBlock(hDevice, PLX_ADDR_SPACE0, ADDR_DATA_BASE,
sizeof(STRUCT1), &yStruct, WDC_MODE_32, WDC_ADDR_RW_DEFAULT);
typedef struct
{
vIuint8 A[6];
vIuint8 B1[4];
vIuint8 B2[4];
vIuint8 B3[4];
vIuint8 C1[16];
vIuint8 C2[16];
vIuint8 D;
vIuint8 padding;
}STRUCT1;