1.1种处理器可以利用其外设(也能够认为是功能模块)去实现某种功能。具有相同功能的外设1般不止1个,如两个串口外设或6个ePWM外设等。但具有相同功能的外设,其寄存器组分配情势常常是很相似的,我们可以用位域结构体共用体结构体的方式去定义1个功能寄存器组类型,然后用这个自定义类型去定义1个外设。
2.定义每个寄存器的位域结构体类型,然后用这个位域结构体类型结合整型定义1个共用体类型。用这类方式定义1个功能模块的所有寄存器组。最后采取共用体结构体方式定义1个寄存器组类型。
3.位域的定义必须从右往左的顺序,也就是说从最低位开始定义。1个位域必须存储在1个字节中,不能跨两个字节,如果1个字节所剩空间不够放另外一个域,应当从下1个单元起寄存该域。位域的长度不应大于1个字节的长度。位域可以无位域名,用作填充或调剂位置,无名的位域不能使用。
4.
定义为union情势的成员既可以实现对寄存器的整体操作,也能够实现对寄存器的位操作。而定义为Uint16的成员只能直接操作寄存器。