再看一下DSP2802x_Gpio.h头文件里的位域定义:
1. 共同体
使用位定义的方法定义寄存器可以方便地实现对寄存器功能位进行操作,但有时候如果需要对整个寄存器进行操作。
例子:
再看一下DSP2802x_Gpio.h头文件里的共同体定义:
先定义了一个共同体GPADAT_REG
Uint32 all; //可实现对寄存器整体操作
Struct GPADAT_BITS bit; //可实现位操作
以上两个就是最基本的操作,下面来看看,LED闪烁 是怎么来使用位域和共同体的。
头文件里
先定义了一个共同体GPIO_CTRL_REGS;
Union GPADAT_REG GPADIR; //声明了一个GPA1_REG变量 GPADIR
打开InitGpio()函数
现在这个就很清楚了,操作了GPIO0和GPIO1的位,具体输入输出现在不做讨论,现在不看具体寄存器的意义,只是看懂基本的C程序而已。