浅析TMS320F28035的GPIO模块

通用输入输出端口(General Purpose Input Output, GPIO)几乎是学习包括DSP,单片机在内的微处理器的第一步。GPIO的功能包括基本的输入,输出,也可以复用为其他外设功能。

GPIO简介

TMS320F28035具有45个GPIO引脚(不包括模拟输入输出引脚AIO),分为两大部分: Part A(0~31)Part B(32~44)。其中,每个引脚除了具备通用数字输入/输出功能外,还最多复用三个外设引脚功能,可以通过多路复用选择寄存器(GPxMUXn)进行配置。

GPIO的默认功能是通用数字输入/输出功能,在进行配置时,主要步骤如下:

  • 引脚的方向:输入/输出,0(输入) 1(输出),通过GPBDIR进行配置。

  • 引脚的电平:1(高电平),0(低电平),这个可选。

  • 引脚的复用:基本输入输出功能 or 外设复用功能。

比如我们要使用某个GPIO引脚,周期性输出高低电平,从而闪烁LED灯。那么,我们需要进行如下配置GPIO:

  • 方向:输出
  • 电平:周期性翻转电平
  • 复用:不进行复用,默认基本输入输出功能

硬件电路

在这里插入图片描述

可见,GPIO34引脚与LED的阴极相连,当GPIO34输出低电平时,LED亮; GPIO34输出高电平时,LED灭。

软件代码

  1. 一些初始化工作,包括系统配置,中断,看门狗等
InitSysCtrl();          // 初始化系统配置,关闭看门狗,开启外设时钟
DINT;                   // 关闭CPU级总中断:INTM(0:开启,1:关闭)
InitPieCtrl();          // 初始化外设中断扩展配置
IER = 0x0000;           // 关闭CPU级中断使能位
IFR = 0x0000;           // 关闭CPU级中断标志位
InitPieVectTable();     // 初始化PIE向量表
  1. 配置GPIO34引脚为输出引脚,默认基本输入输出功能

由前面可知,34引脚输入Group B,所以需要使用与Group B相关的寄存器,如GPBMUX1GPBDIR

 EALLOW;  // 开锁
 GpioCtrlRegs.GPBMUX1.bit.GPIO34 = 0;   // GPIO34作为普通IO     0: GPIO
 GpioCtrlRegs.GPBDIR.bit.GPIO34  = 1;    // GPIO34方向为输出     0: 输入   1: 输出
 EDIS;   // 上锁
  1. 主循环中实现电平的翻转,延时函数实现LED灯闪烁的效果
while(1)
{
    // 延时1s
    DSP28x_usDelay(1000000);

    // 电平翻转
    GpioDataRegs.GPBTOGGLE.bit.GPIO34 = 1;  
}

完整代码

#include "DSP28x_Project.h"     // Device Header file and Examples Include File

//------------------------- 硬件配置-----------------------------//
//
//        LED-----> GPIO34
//
//---------------------------------------------------------------//

/**
 * main.c
 */
void main(void)
{
    InitSysCtrl();          // 初始化系统配置,关闭看门狗,开启外设时钟

    DINT;                   // 关闭CPU级总中断:INTM(0:开启,1:关闭)

    InitPieCtrl();          // 初始化外设中断扩展配置

    IER = 0x0000;           // 关闭CPU级中断使能位
    IFR = 0x0000;           // 关闭CPU级中断标志位

    InitPieVectTable();     // 初始化PIE向量表

    //********************* code start here ****************************//
    EALLOW; // 开锁
    GpioCtrlRegs.GPBMUX1.bit.GPIO34 = 0;   // GPIO34作为普通IO     0: GPIO
    GpioCtrlRegs.GPBDIR.bit.GPIO34 = 1;    // GPIO34方向为输出         0: 输入   1: 输出
    EDIS;   // 上锁

    while(1)
    {
        // 延时1s
        DSP28x_usDelay(1000000);

        // 电平翻转
        GpioDataRegs.GPBTOGGLE.bit.GPIO34 = 1;
    }
    //********************* code end here ******************************//
}

总结

大致就是这样,GPIO的配置相对简单,也是学习DSP的第一步,加油。

  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
该版为中文,看起来非常方便。与英文版对比着研究,效果更好!lEXAS INSTRUMENTS 微控制器 增强型捕捉模块 特性 高分辨率捕捉 模块 说明 增强型正交编码器脉冲 开始使用 端口 简介 引脚分配 器件支持 信号说明 器件和开发支持工具命名规则 功能概述 相关文档 方框图 社区资源 内存映射 电气规范 简要说明 最大绝对额定值 寄存器映射 建议的运行条件 器件仿真寄存器 电气特性 中断 流耗 散热设计考虑 系统控制 针对的无信号缓冲的仿真器连接 低功耗模式块 时序参数符号 外设 时钟要求和特性 控制律加速器概述 电源排序 模拟时钟 通用输入输出 串行外设接口 模块 增强型控制外设 串行通信接口模块 详细说明 本地互连网终 闪存定时 增强型控制器局域网络 模块 至修订历史记录 内部集成电路 至修订历史记录 增强型 模块 热性能机械数据 高分辨率 版权 内容 EXAS INSTRUMENTS 简介 表列出了 器件的特性。 简介 权 TEXAS INSTRUMENTS 表硬件特性 功能 类型 引脚引脚引脚号脚引脚引脚引脚引 引脚引脚引脚引脚 封装类型 指令周期 控制律加速器 否 否 不支持 支持 不支持 支持 片载闪存(位字) 片载 位字 片载闪存 块的代码安全 支持 支持 支持 又持 支持 引导 支持 叉持 支持 次性可編程 (位字) 输出 模块 全装置定时器 支持 支持 又持 支持 秒百万次采样 转换时间 温度传感器 支持 支持 支持 支持 叉持 支持 双采样保持 支持 支持 支持 又持 支持 定时器 高分辨率 通道 高分辨率捕获 模块 有集成数模转换器 的比较器 内部集成电路 增强型控制器局域网络 本北互连网络 串行外设接口 串行通信接口 引脚(共 电源电压(标称值) 个类型变化代表一个外设模块中的主要功能特性差异。在一个外设类型内,器件之间会有绀徼差异,而这些差异不会影响模块的基本功能性。这些特定器件差异显示在 外设参考手册》(文献编号 )列表中和外设参考指南中。 简介 TEXAS INSTRUMENTS 表硬件特性 功能 类型 引脚引脚引脚引脚引脚引脚 引脚 引脚引脚引脚 引脚 引脚引脚引脚引脚引脚引脚引脚 封装类型 支持 支持 又持 支持 温度选项 支持 支持 主 支持 不支持 支持 不支持 支持 不支持 支持 不支持 支持 不支持 支持 不支持 产品状态 是指针对汽车应用的 认证技术规范。 器件级说明,请见节,器件和开发支持工具命名规则。 产品状态表示一个完全合格的生产器件 产品状态表示一个试验器件,此试验器件并不一定代表最终器件的电气规 范 简介 版权 lEXAS INSTRUMENTS 引脚分配 图显示了引脚小型四方扁半(无引线)封装 引脚分配。图显示了引却薄 型四方扁平封装 引脚分配。图显示引脚薄型四方肩平封装 引脚分配。 引脚封装上的信息数据为 产品状态表示一个试验器件,此试验器件并 不一定代表最终器件的电气规范。器件级说明,请见节,器件和开发支持工具命名规则。 版权 简介 EXAS INSTRUMENTS <Ou× z>0 OO× NN-<O Q 吕5§3安活5吕吾 寸导8将8$习 TTTTT廿 GPIO36/TMS 43 28 GPIO28/SCIRXDA/SDAA/TZ2 GPIOS/EPWM3B/SPISIMOAECAP144 27 TEST2 GPIO4/EPWM3A 45 26V GPIO3/EPWM2B/SPISOMIA/COMP2OUT 46 GPIO2/EPWM2A 47 24 GPIO29/SCITXDA/SCLA/TZ3 GPIO1/EPWM1B/COMPlOUT 48 23 GPIO3O/CANRXA G PIOO/EPWM1A 49 22 GPIO31/CANTXA DDIo 50 21 ADCINB7 20 ADCINB6/COMP3B/AIO14 DD 52 19 ADCINB4/COMP2B/AIO12 VREGENZ 53 18 ADCInB3 GP1O34/COMP2OUT/COMP3OUT 54 17 ADCINB2/COMP1 B/AIO10 GPIO20/EQEP 1A/COMP1OUT 55 16 ADCINB1 GPIO21/EQEP1B/COMP2OUT 56 15 SA REFLO auu?Oa 这个图表显示了引脚封装的顶视图。阴影表示端子实际上在封装的底部。引脚机械制图,请 见 ,热机械薮据。 引脚 共用引脚器件上的同一引脚并且它们不可同时使用。 引脚 被一直连接至引脚器件上的 图 引脚 (顶视图) 简介 权 lEXAS INSTRUMENTS dcud×2 oO202u=Oz0 o<o0o≤<s2u oO 5555§当558585 守令寸守乎守导98内8 GPIOIT/EPWM6B/LINRXA/FRCAP2 GPIO28SCIRXDA/SDAA/IZ2 GPIOS/EPWM3B/SPSIMOA/ECAP1 GPIO9/EPWM5B/LINTXA/HRCAP1 GPIO4EPWM3A TEST2 GPIOlUEPWM6A/AUCSOCBO G PIO3/EPWM2B'SPISOMIA/COMP2OUT GPIO2/EPWM2A 27 F GPIO29/ SCITXDA/SCLA/TZ3 GPIOTEPNM1B/COMP1QU GPIOSOICANRX GPO0 EPWM1A□56 GPIO31CANTXA VEDIO 24 ADCINB7 VSS DI58 23 ADCINB6/COMP3BAIO14 ) CINBAICOMP2BIA1012 BREGENZ G PIO34/COMP2OUTICOMP3OUT D 20F ADCINB2/COMP1B: AIO10 GPIO2O/EOEP 1A/COMP1OUT 19 ADCINB1 GP1O21/EQEP 1BCOMP2QUT DCINBO GPIO24/ECAP1DI64 O VSSA/VREFLO P:N99 Noc 凵囗囗 O 2CSszcc 引脚 和 共用引脚器件上的同一引脚并且它们不可同时使用。 引脚 被一自连接至引脚器件上的 图 引即 (顶视图) 版权 简介 EXAS INSTRUMENTS 883 GPIO11/EPWM6B/LINRXA/HRCAP2 GPIO5JEPWM3B/SPISIMOA/ECAP1 GPIO9/EPWM5B/INTXA/HRCAP1 GPIO4/EPWM3A GPIO4EPWM7A GP1026/HRCAP1 SPICLKB GPIO10/EPWMEAIADCSOCBO G PIO3/EPWM2B SPIS GPIO2/EPWM2A GPIO29SCITXDA/SCLATZ3 GPIO1/EPWM1BCOMP1OUT 33 G PIOO/EPWM1A VDDID GPI027/HRCAP2ISPISTFR SS ADCINB7 VDD ADCINB6/CCMP3BIAIO14 G PIO34/COMP2OUTCOMP3OUT ADCINB4/COMP2BIA1O12 GPIO15/TZ1/LINRXA/SPISTEB ADCINB3 GPIO 13/TZ2/SPISOMIB ADCINB2/CCMP1B/AIO 10 GPIO 14/TZ3/INTXA/SPICLKB GPIOZO/FOEP 1AICOMP1OUT GPIC24/ECAF 1/SPISINOB VSSA FNP*perpeR 引脚 (顶视图) 简介 权
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Rob月初

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值