介绍DSP28335的GPIO的输出高低电平功能

处理器/DSP

871人已加入

描述

** 一、概述 **

GPIO(General Purpose Intput Oytput)是通用输入输出端口的简称,可以通过软件来控制其输入和输出。DSP28335芯片的GPIO引脚与外部设备连接起来,从而实现与外部通讯、控制以及数据采集的功能。GPIO最简单的就是做输出高低电平

本篇文件将介绍DSP28335的GPIO的输出高低电平功能。

二、GPIO结构框图

DSP28335的通用输入输出GPIO共有88个引脚,该芯片将88个GPIO分成A、B、C三组进行管理。其中A组为:GPIO0GPIO31;B组为:GPIO32GPIO63;C组为:GPIO64~GPIO87。

GPIO

图1 GPIO结构框图

图1为GPIO的A组结构框图,对于B、C是一致的。将GPIO结构框图分为4部分。各部分用处如下:

第一部分:这一部分确定GPIO是输入还是输出,比如GPIOx_DIR=1时为输出,GPIOx_DIR=0时作输入使用[ **控制输入还是输出** ];

第二部分:这一部分是数据数据寄存器,当GPIO作输出使用时,给数据寄存器控制高电平输出的数据位写有效值时,GPIO就输出高电平,给数据寄存器控制低电平输出的数据位写有效值时,GPIO就输出低电平;当GPIO作输入使用时,该部分只能读,比如读此时引脚采样到的是高电平还是低电平。

第三部分:这一部分是GPIO作输入使用才用到,比如GPIO接一个按键作输入,产生一个中断。

第四部分:这一部分是GPIO的上拉控制,使用上拉可以增强GPIO的驱动能力。通过对该部分的寄存器配置可以使能GPIO上拉功能或者失能GPIO上拉功能。

三、GPIO输出高低电平涉及寄存器

GPIO的寄存器分为三大类,第一类是控制寄存器,主要由功能选择寄存器GPxMCUn[ 控制是否是普通输入输出功能 ]、方向控制寄存器GPxDIR[ 控制是作输出用还是输入用 ]、上拉控制寄存器GPxPUD,x代表A、B、C,n代表1或者2。

GPIO

图2 GPIO控制寄存器

第二类为数据寄存器,主要由数据寄存器GPxDAT、置位寄存器GPxSET、清除寄存器GPxCLEAR和状态翻转寄存器GPxTOGGLE等组成。用于控制GPIO作输出时候引脚高低电平控制,或者GPIO作输入时读引脚电平用。

GPIO

图3 GPIO数据寄存器

四、DSP28335的GPIO作输出使用点亮LED灯例子

硬件原理图如下:

GPIO

图4 硬件原理图

LED灯接在GPIO75引脚上,只要将该引脚设置为低电平,LED灯就会亮。

编程步骤:

  1. 将GPIO配置为作通用GPIO用,而不是复用为其他功能(PWM,ADC),只做输入输出用;
  2. 将GPIO作为配置为输出用;
  3. 将GPIO配置为上拉;
  4. 将GPIO75设置为低电平;

GPIO

其中步骤1对应19行,步骤2对应20行,步骤3对应21行,步骤4对应23行。

主函数用调用该函数就可以点亮一个LED灯了。

GPIO

主函数中InitSysCtrl()是对处理器时钟的初始化,芯片的时钟是芯片的心脏。下一篇文章介绍一下DSP28335芯片的心脏。

至此DSP28335的GPIO做普通高低电平输出用已经讲完。

五、总结

本篇文章介绍了DSP28335的GPIO的输出高低电平功能,从GPIO结构框图到GPIO做普通输出寄存器做了相关介绍,并手把手教怎么写控制一个LED灯,通过本章的学习,可以掌握DSP28335的GPIO功能。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分