TMS320F28377D学习日志:day2点亮LED

文章目录

  • 一、28377开发板的led电路分析
  • 二、28377的GPIO相关寄存器介绍
    • 2.1 前言
    • 2.2 GPySET 寄存器介绍
    • 2.3 GPyCLEAR 寄存器介绍
  • 三、程序介绍
    • 3.1 引入库
    • 3.2 配置GPIO引脚功能
      • 3.2.1 GPIO_SetupPinMux函数
      • 3.2.1 GPIO_SetupPinOptions函数
    • 3.3 系统初始化
    • 3.4 循环程序
  • 参考文献


一、28377开发板的led电路分析

led电路图:
TMS320F28377D学习日志:day2点亮LED_第1张图片LED串联1k欧限流电阻,正极接3.3V电源,负极接28377引脚。3个LED用共阳接法。当引脚P89输出低电平,LED1点亮;当引脚P89输出高电平,LED1熄灭。其他LED同样受P91、P93引脚控制亮灭。

二、28377的GPIO相关寄存器介绍

2.1 前言

28377引脚是多功能复用的,因此需要将P89、P91和P93设置为GPIO功能,并上拉输出。
在2837xD系列的DSP芯片中,有高达8组I/O端口,它们的关系为

Port GPIO
A 0~31
B 32~63
C 64~95
D 96~127
E 128~159
F 160~191
G 192~223
H 224~255

因此点亮LED所需的P89、P91和P93引脚属于PortC.
此外值得一提的是,在TI官方资料《TMS320F2837xD Dual-Core Microcontrollers Technical Reference Manual (Rev. K)》(可在TI官网下载)中可以看到2837xD系列的外设复用、CPU复用和引脚选项只能通过CPU1进行配置。
TMS320F28377D学习日志:day2点亮LED_第2张图片
所以该工程只使用CPU1进行GPIO的配置与控制。

2.2 GPySET 寄存器介绍

该寄存器用于驱动引脚输出为高电平,且不影响其他的引脚。GPySET其中的y用于指代不同引脚的Port,例如P89就是GPCSET。因此设置P89为高电平,可以采用下列程序:

GpioDataRegs.GPCSET.bit.GPIO89 = 1//用于GPIO89置高

同时在程序中选中GPCSET按下F3可以看到GPCSETGPCSET_REG类型的数据,GPCSET_REG的定义如下:

union GPCSET_REG {
   
    Uint32  all;
    struct  GPCSET_BITS  bit;
};

其中GPCSET_BITS 为包含GPIO64~GPIO95的结构体。

struct GPCCLEAR_BITS {
                     // bits description
    Uint16 GPIO64:1;                    // 0 Output Clear bit for this pin
    Uint16 GPIO65:1;                    // 1 Output Clear bit for this pin
    Uint16 GPIO66:1;                    // 2 Output Clear bit for this pin
    Uint16 GPIO67:1;                    // 3 Output Clear bit for this pin
    ...
    }

2.3 GPyCLEAR 寄存器介绍

与GPySET刚好相反,GPyCLEAR 用于驱动引脚输出为底电平。同样的,设置P89为低电平,可以采用下列程序:

GpioDataRegs.

你可能感兴趣的:(DSP学习日志,学习,单片机,dsp开发,嵌入式硬件)