MPLAB X IDE と Hi-Tech C Compiler を PIC コントローラで使用しています。したがって、少し「バイト指向」であることが重要です。だから私は次のことを試します:
volatile struct{
unsigned bit white:1;
unsigned bit red:1;
unsigned bit blue:1;
unsigned bit green:1;
unsigned bit violett:1;//Magenta
unsigned bit yellow:1;
}ColorPick;
それが正しく宣言されているかどうかはわかりませんが、その上にビットシフトをドロップするとどうなりますか。My Result では、1 ビットのみがアクティブ (1) で、その他はすべてロー (0) である必要があります。
「白はビット 0b00000001 または 0b10000000 ですか?そして、6回シフトすると黄色になります。その後、再び白になります。ColorPick << 1; の同じ関数呼び出しでそれを行うことができますか?
私はそのように宣言しなかったビット7と8に1がシフトされると思います。
どうすればこれを修正できますか?