次のコードがあります。それは私のIDEによって生成されたもので、理解しようとしています。
#define TRGMR (*(volatile union un_trgmr *)0xF0250).trgmr
ここで、データシートによると、タイマー マネージャーは 0xF0250 の場所にあります。しかし、私が理解できないのは構文です。
union un_trgmr {
unsigned char trgmr;
__BITS8 BIT;
};
ポインタについては知っています。しかし、私は本当に何が行われているのか理解できません。誰かが私を助けてくれませんか?ちなみに、BITS8 は次のようにビットフィールドを持つ別の構造体です。
typedef struct {
unsigned char no0 :1;
unsigned char no1 :1;
unsigned char no2 :1;
unsigned char no3 :1;
unsigned char no4 :1;
unsigned char no5 :1;
unsigned char no6 :1;
unsigned char no7 :1;
} __BITS8;