我定义了一个位变量 MyFlag.bits.CalibrationOk 定义方法如下 union{ int FlagByte; struct{ unsigned Ch4CanRead:1; unsigned Ch2CanRead:1; unsigned Ch1CanRead:1; unsigned AdValCanRead:1; unsigned CalibrationOk:1; }bits; }MyFlag;
可是在主程序按如下使用时 while(1) { MyFlag.bits.CalibrationOk = PORTBbits.RB11; } 他生成的汇编有一堆,
而不是简单的一两条位操作,是我的方法问题吗? 如何才能生成 mov bit ,bit 类似的指令呢? |