レジスタを持つ事業者:列挙およびビット単位の我々は、すべての操作のレジスタのこの種のに使用されている
SomeRegister |= (1 << What_ever_bit_I_wanna_change) // we do this for changing a specific bit to one without changing the others.
SomeRegister &= ~(1 << What_ever_bit_I_wanna_change) // we do this for changing a specific bit to zero without changing the others.
私は同じパラダイムを使用することを予定しておりますが、列挙して、このような何か:
typedef enum {
Acc_2g (Something to change only the desired bits in the related register that I don't know how to do),
Acc_4g (Something to change only the desired bits in the related register that I don't know how to do)
}Res;
列挙型の内部でビット演算子を使用する方法はありますか?
値を列挙記号に割り当てることができます。それがあなたが求めているものなら、 'enum {x =(1 << 3)、y =(1 << 4)、...}です。 –
列挙値を任意の整数に初期化できることは知っていますか?例えばのように。 'Acc_2g = 4'?たとえば、初期化にはコンパイル時の定数式を使用できます。 'Acc_2g = 1 << 2'。 [良い初心者の本](http://stackoverflow.com/questions/562303/the-definitive-c-book-guide-and-list)はあなたにそれを伝えておいたはずです。 –