本系列学习笔记仅仅针对日常使用,而非全面讲解,希望读者针对自己需求来观看,针对网上很多内容有所删减
1 GPIO系列
GPIO是通用的数字量输入输出接口
F28335的88个GPIO分为3组
A | 0-31 | INT0-3 |
B | 32-63 | INT4-12 |
C | 64-87 |
GpioMUX复用开关寄存器
88个GPIO口可以进行功能复用,也可以灵活配置功能
GPIO 0-15 | MUX1 |
GPIO 16-31 | MUX2 |
1个MUX表示16个GPIO口
GPIOCtrlRegs.GPBMUX2.bit.GPIO54=0;//数字IO
GPIOCtrlRegs.GPBMUX2.bit.GPIO54=1;//外设功能
其中由于IO端口号54位于B组,所以GPB,54大于32+15,所以位于第二组,自然MUX2
GPIODIR配置输入还是输出功能
GPIOCtrlRegs.GPBDIR.bit.GPIO54=0;//0输入 1输出
其中配置为0是输入,1是输出
GPxPUD ,x=A,B,C 上拉电阻功能
0为上拉,1为无效
上电复位后为默认不上拉,电压为0V,上拉电压为3.3V
GpioCtrlRegs.GPCPUD.bit.GPIO64=0;
如果上拉后,后面配置引脚SET为1则无电平输出,CLEAR=1;为高电平输出
GpioDataRegs下有三种操作类型
GPxSET |
GPxCLEAR |
GPxTOGGLE |
例如
GpioDataRegs.GPcCLEAR.bit.GPIO64=1;
在操作类型,加入bit,加入GPIO号,之后进行操作,1为使能,0无效
GPIO输入通过量化寄存器GPxQUAL进行量化限制,消除IO口噪声干扰,配置GPxQSELx,选择引脚输入类型。如果为1是采样窗口为3,2个采样周期
采样窗口为6的间隔时间为5个采样周期。
只有在这2或者5个采样周期内采集的信号完全一样才说明信号稳定,信号才会传递为DSP,依次来消除噪声。
由于80H的10进制128,所以是128*机器时钟
GpioCtrlRegs.GPAQSEL1.bit.GPIO15 = 2; // 6采样窗口
GpioCtrlRegs.GPACTRL.bit.QUALPRD0 = 0x80; // 用128乘以机器时钟
GPXCTRL.bit.QUALPRDx2
X2 | GPIO |
0 | 0-7 |
1 | 8-15 |
2 | 16-23 |
3 | 24-31 |
采样周期
0x00 | 采样周期=1*机器时钟 |
0x01 | 采样周期=2*机器时钟 |
0x02 | 采样周期=3*机器时钟 |
0xff | 采样周期=510*机器 |