程序说明

  • 文件名:main.c
  • 描 述:DSP-28027GPIO实验
  • 版本号:v1.0.0
  • 型 号:DSP-28027

实验内容

  1. 将GPIO1设置为EPWM1B,将GPIO3设置为EPWM2B,将GPIO2和GPIO4设置为GPIO
  2. 每0.5秒将GPIO4的输出值反转(初始为“0”),上述功能在定时器工程中实现(输出值翻转用寄存器GPxTOGGLE 实现)

实验笔记

GPIO包括多种控制寄存器:

GPAMUX为多路选择控制寄存器;

GPADIR为方向选择控制寄存器;

GPAPUD为上拉电阻选择控制寄存器;

GPACTRL为控制寄存器,用于I/O信号的采样周期设置;

GPASEL为输入限制控制寄存器,用于输入限制方式选择;

GPIOXINTxSEL为中断控制寄存器;GPIOLPMSEL为低功耗模式下唤醒源;

GPxTOGGLE的作用为将对应的GPIO位置的电平反转,即对GPxTOGGLE的某位写入“1”会使得对应的GPIO引脚的电平反转(原先是“0”则变为“1”,原先是“1”则变为“0”)而不影响其他的GPIO引脚;

GPxSET,其位都对应一个GPIO,对GPxSET的某位写入“1”会使得对应的GPIO引脚置“1”(高电平),且不影响其他的GPIO引脚。对GPxSET写“0”无作用,读此GPxSET寄存器返回值都为“0”;

GPxCLEAR的作用为将对应的GPIO位置为“0”(低电平),同样,对GPxCLEAR的某位写入“1”会使得对应的GPIO引脚置“0”而不影响其他的GPIO引脚

寄存器GPxCLEAR的作用为将对应的GPIO位置为“0”(低电平),同样,对GPxCLEAR的某位写入“1”会使得对应的GPIO引脚置“0”而不影响其他的GPIO引脚

程序代码

任务一

void Gpio_setup3(void)
{
    EALLOW;
    // 将 GPIO1-GPIO3配置为PWM
    GpioCtrlRegs.GPAPUD.bit.GPIO1 = 0;   // 使能上拉
    GpioCtrlRegs.GPAPUD.bit.GPIO3 = 0;   // 使能上拉
    GpioCtrlRegs.GPAMUX1.bit.GPIO1 = 1;  // GPIO1 = PWM1B
    GpioCtrlRegs.GPAMUX1.bit.GPIO3 = 1;  // GPIO3 = PWM2B

    // 将GPIO2和4设置成GPIO
    GpioCtrlRegs.GPAPUD.bit.GPIO2 = 0;   // 使能上拉
    GpioDataRegs.GPASET.bit.GPIO2 = 1;   // 置为“1”
    GpioCtrlRegs.GPAMUX1.bit.GPIO2 = 0;  // 配置为GPIO
    GpioCtrlRegs.GPADIR.bit.GPIO2 = 1;   // 配置为输出
    GpioCtrlRegs.GPAPUD.bit.GPIO4 = 0;   // 使能上拉
    GpioDataRegs.GPASET.bit.GPIO4 = 1;   // 置为“1”
    GpioCtrlRegs.GPAMUX1.bit.GPIO4 = 0;  // 配置为GPIO
    GpioCtrlRegs.GPADIR.bit.GPIO4 = 1;   // 配置为输出
    EDIS;
}

任务二

1、配置定时器周期

ConfigCpuTimer(&CpuTimer2, 60, 500000);//设置周期为0.5s

2、配置GPIO模式

void InitIO(void)
{
    EALLOW;                               // 关闭寄存器保护,可以修改寄存器
    GpioCtrlRegs.GPAPUD.bit.GPIO4 = 0;   // 使能上拉
    GpioDataRegs.GPACLEAR.bit.GPIO4 = 1;   // 置为“0”
    GpioCtrlRegs.GPAMUX1.bit.GPIO4 = 0;  // 配置为GPIO
    GpioCtrlRegs.GPADIR.bit.GPIO4 = 1;   // 配置为输出
    EDIS;                                // 开启寄存器保护,不可以修改寄存器
}

3、配置定时器中断函数

interrupt void cpu_timer2_isr(void)
{
    GpioDataRegs.GPATOGGLE.bit.GPIO4 = 1;   // 输出反转
}
End

本文标题:DSP-28027GPIO实验

本文链接:https://www.kitteno.com/archives/gpio.html

除非另有说明,本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

声明:转载请注明文章来源。

最后修改:2022 年 04 月 24 日
如果觉得我的文章对你有用,请随意赞赏