经过测试知道默然的对齐方式是 4字节对齐。因为对齐问题,读写Flash发生了硬件错误中断,所以需要特别注意。M3好像没有这个问题。 1. 如果想修改对齐方式可用下面两条命令。 1) #pragma pack (x) 含义即按x字节对齐。 2) #pragma pack () 会恢复默然对齐方式。 2. 结构体对齐说明 会以结构体内的最大宽度字节数对齐。 举例说明。 1)struct A { uint8 a; uint8 b; } sizeof(struct A)为2; 2)struct A { uint8 a; uint16 b; } sizeof(struct A)为4;
3)struct A { uint8 a; uint32 b; } sizeof(struct A)为8;
|