三、DSP_TMS320F28335_GPIO寄存器总结

GPIO寄存器总结

注意设置寄存器时要关闭写保护:
!!!关键字:EALLOW
!!!关键字:EALLOW
!!!关键字:EALLOW
打开写保护:
!!!关键字:EDIS

!!!关键字:EDIS
!!!关键字:EDIS

一、输出模式寄存器

1.1、使能时钟
关于外设的时钟控制寄存器有下面三个:三、DSP_TMS320F28335_GPIO寄存器总结_第1张图片
查看PCLKCR3详细资料可以得知,设置PCLkCR3的GPIOINENCLK位为1则可以使能GPIO的时钟。
三、DSP_TMS320F28335_GPIO寄存器总结_第2张图片
1.2、选择GPIO的功能(以A组GPIO为例)
在这里插入图片描述
三、DSP_TMS320F28335_GPIO寄存器总结_第3张图片
假如设置GPIO1为普通GPIO模式。则设置GPAMUX1的GPIO1位为0即可。

1.3、设置GPIO的方向(A组为例)
三、DSP_TMS320F28335_GPIO寄存器总结_第4张图片
GPADIR寄存器
三、DSP_TMS320F28335_GPIO寄存器总结_第5张图片
设置为1,则是输出。
设置为0,则是输入。

1.4、是否上拉(A组为例)
三、DSP_TMS320F28335_GPIO寄存器总结_第6张图片
GPAPUD寄存器
三、DSP_TMS320F28335_GPIO寄存器总结_第7张图片
设置GPAPUD为0则是 使能上拉。
设置GPAPUD为1则是 失能上拉。
注意: GPIO12~31为默认上拉。
GPIO0~11为默认下拉。

GPBPUD寄存器三、DSP_TMS320F28335_GPIO寄存器总结_第8张图片
GPBPUD GPIO32~63则全是默认为上拉。

GPCPUD寄存器
三、DSP_TMS320F28335_GPIO寄存器总结_第9张图片
GPCPUD GPIO62~87则没有默认上拉还是下拉。

1.5、设置GPIO的输出电平(以A组为例)
三、DSP_TMS320F28335_GPIO寄存器总结_第10张图片
GPADAT 32位寄存器
三、DSP_TMS320F28335_GPIO寄存器总结_第11张图片
当GPIO为输出模式时,可以设置GPIO0~31 的电平。
当GPIO设置为输入模式时,则为只读模式。

GPASET寄存器
1:输出高电平
0:忽略
GPACLEAR寄存器
1:输出低电平
0: 忽略
GPATOGGLE寄存器
1:输出翻转电平
0:忽略

二、输入模式

注意:C组GPIO输入模式没有量化滤波!!!
注意:C组GPIO输入模式没有量化滤波!!!
注意:C组GPIO输入模式没有量化滤波!!!
三、DSP_TMS320F28335_GPIO寄存器总结_第12张图片
2.1、采样周期
CPACTRL寄存器
(以GPIO1为例)
三、DSP_TMS320F28335_GPIO寄存器总结_第13张图片
设置采样周期。GPACTRL的QUALPRD0设置为0x00,GPIO1 则是一个主频率的采样周期。

采样周期T=(2^n)*Tsysclkout ( 0x00<=n<=0xff)

2.2、采样次数(以A组为例)
GPAQSEL1寄存器(GPIO0~15)
三、DSP_TMS320F28335_GPIO寄存器总结_第14张图片

00:为同步时钟输入,不采样。
01:3采样
10:6采样
11:设置模式为外设时提供异步时钟信号,如果是设置为普通IO口输入则和设置为00具有相同的效果。

GPAQSEL2寄存器(GPIO16~31)
用法相同;

三、总结

3.1、设置输出模式源代码

	EALLOW;//关闭写保护
	SysCtrlRegs.PCLKCR3.bit.GPIOINENCLK = 1;    // 开启GPIO时钟
	GpioCtrlRegs.GPAMUX1.bit.GPIO1=0;			//设置为通用GPIO功能
	GpioCtrlRegs.GPADIR.bit.GPIO1=1;			//设置GPIO方向为输出
	GpioCtrlRegs.GPAPUD.bit.GPIO1=0;			//使能GPIO上拉电阻
	GpioDataRegs.GPASET.bit.GPIO1=1;			//设置GPIO输出高电平
	
	EDIS;//开启写保护

3.2、设置输入模式源代码

	EALLOW;//关闭写保护
	SysCtrlRegs.PCLKCR3.bit.GPIOINENCLK = 1;// 开启GPIO时钟
	GpioCtrlRegs.GPAMUX1.bit.GPIO1=0;       //设置为统用GPIO功能
	GpioCtrlRegs.GPADIR.bit.GPIO1=0;	    //输入模式
	GpioCtrlRegs.GPAPUD.bit.GPIO1=0;		//使能下拉电阻
	EDIS;								    //开启写保护

你可能感兴趣的:(DSP,嵌入式,dsp)