概述
文章目录
- 一、GPIO介绍
- 二、GPIO相关寄存器
- 1.GPIO相关控制寄存器
- 总结
一、GPIO介绍
如上图所示,为F28335扁平封装 (LQFP)顶视图,按照逆时针方向管脚从1到176,每个方向有44个引脚,标记有GPIOxx的管脚说明可以用来当做IO口使用,共有88个GPIO
端口,这88个端口在实际使用时又被分成三组,分别为A、B、C三个组,其中GPIO0–GPIO31属于A组,其中GPIO32–GPIO63属于B组,其中GPIO64–GPIO87属于C组。每个GPIO都有相应的寄存器来对端口进行配置,比如控制端口的输入和输出,上拉电阻的使用等等。
这篇文章我们只讲GPIO端口作为普通IO口的使用,作为外部中断触发和其他复用功能在以后介绍。
二、GPIO相关寄存器
1.GPIO相关控制寄存器
上图为GPIO控制寄存器及其功能介绍。这些寄存器是受EALLOW保护的,因此在修改之前要关闭写保护,修改完毕之后要关闭写保护。
代码如下(示例):
EALLOW;//关闭写保护
GpioCtrlRegs.GPBMUX1.all=0x00000000;
EDIS;//打开写保护
下面逐个寄存器讲解一下他们的功能。
(1)GPxCTRL(控制寄存器)(x代表A、B、C)
上图为TI公司提供的控制寄存器定义情况,该寄存器的功能是修改IO端口的采样周期,
QUALPRDx(x代表0、1、2、3)可以设置为0x00至0xff之间的数字,对应的采样周期为:T=1~510个TSYSCLKOUT(系统时钟周期)。
(2)GPxQSELy(量化控制寄存器)(x代表A、B、C;y代表1、2)
该寄存器用来配置GPIO端口的采样窗口宽度,该功能可以起到滤除干扰信号的作用。
可以设置为0,1,2,3,当值设置为0时,表示与采样周期同步,当设置为1时采样窗口宽度为3个采样周期,当设置为2时采样窗口宽度为6个采样周期,仅当作为外设引脚时可以设置为3,表示与系统时钟不同步。
(3)GPxMUXy(复用功能选择寄存器)(x代表A、B、C;y代表1、2)
从芯片的管脚图可以看出,很多GPIO关键具有复用功能,比如GPIO2除了具有IO功能之外,还可以设置为EPWM2A(以后会讲)端口,该寄存器可以设置为0,1,2,3,当设置为0时对应的为普通IO口功能,其他的值不同的端口对应不同的功能,其他功能在以后再讲。
(4)GPxDIR(方向控制寄存器)(x代表A、B、C)
顾名思义,该寄存器用来控制端口是用来作输入端口,还是输出端口。为1时为输出端口,为0时为输入端口。
(5)GPxPUD(上拉控制寄存器)(x代表A、B、C)
28335的IO端口内置上拉电阻,可以通过软件设置是否使用该上拉电阻,为0时使用上拉电阻,为1时禁用上拉电阻。
(6)下面以一个例子来说明上面讲解的内容。
EALLOW;//关闭写保护
GpioCtrlRegs.GPACTRL.bit.QUALPRD0=1;//设置采样周期为2个系统时钟
GpioCtrlRegs.GPAQSEL1.bit.GPIO0=0;//采样窗口与采样周期相同
GpioCtrlRegs.GPAMUX1.bit.GPIO0=0;//通用IO功能
GpioCtrlRegs.GPADIR.bit.GPIO0=1;//输出功能
GpioCtrlRegs.GPAPUD.bit.GPIO0=0;//启用上拉功能
EDIS;//打开写保护
总结
上面对F28335的GPIO相关控制寄存器进行了讲解,下节将对GPIO数据寄存器进行讲解。
最后
以上就是复杂电源为你收集整理的DSP28335学习---GPIO操作使用(一)一、GPIO介绍二、GPIO相关寄存器总结的全部内容,希望文章能够帮你解决DSP28335学习---GPIO操作使用(一)一、GPIO介绍二、GPIO相关寄存器总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复