⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gpio.c

📁 通用IO口测试程序 通用IO口测试程序
💻 C
字号:
//==============gpio============================//

#include"DSP281x_Device.h"
void Delay(long);
void Configuregpio(void);
void InitialSystem(void);

void main(void)

{
  
  unsigned int LED= 1;
  InitialSystem();      //初始化内核寄存器
  
  Configuregpio();       //对Gpio口进行配置
   Delay((long)2000);
  
  while(1)
  {
  
  GpioDataRegs.GPBDAT.bit.GPIOB0=LED;
  Delay((long)2000);
 LED=1-LED;

  }
}

//====================延时函数==============================//


void Delay(long end)

{
long  i;

for(i=0;i<end;i++);
 
}



//=====================GPIO口初始化配置======================//

void  Configuregpio(void)

{

EALLOW;   //在向保护型寄存器写数据时接触保护

//将GPIO口配置成通用I/O口

GpioMuxRegs.GPAMUX.all=0x0;  
GpioMuxRegs.GPBMUX.all=0x0;
GpioMuxRegs.GPDMUX.all=0x0;
GpioMuxRegs.GPEMUX.all=0x0;
GpioMuxRegs.GPFMUX.all=0x0;
GpioMuxRegs.GPGMUX.all=0x0;

//配置管脚输入输出功能
GpioMuxRegs.GPADIR.all=0x0;
GpioMuxRegs.GPBDIR.all=0x00FF;
GpioMuxRegs.GPDDIR.all=0x0;
GpioMuxRegs.GPEDIR.all=0x0;
GpioMuxRegs.GPFDIR.all=0x0;
GpioMuxRegs.GPGDIR.all=0x0;

//将所有GPIO口限制设定为0
GpioMuxRegs.GPAQUAL.all=0x0;
GpioMuxRegs.GPBQUAL.all=0x0;
GpioMuxRegs.GPDQUAL.all=0x0;
GpioMuxRegs.GPEQUAL.all=0x0;
EDIS;     //对寄存器加保护
}


//=====================系统初始化函数===================//

void  InitialSystem(void)

{

EALLOW;                   //在向保护型寄存器写数据时接触保护
SysCtrlRegs.WDCR=0x00E8;  //  设置看门狗模块 ,禁止看门狗

SysCtrlRegs.PLLCR.bit.DIV=10;  //设置150M时钟

SysCtrlRegs.HISPCP.all=0x1;    //设置高速时钟

SysCtrlRegs.LOSPCP.all=0x2;    //设置低速时钟

SysCtrlRegs.PCLKCR.bit.EVAENCLK=0;

SysCtrlRegs.PCLKCR.bit.EVBENCLK=0;

SysCtrlRegs.PCLKCR.bit.SCIAENCLK=0;

SysCtrlRegs.PCLKCR.bit.SCIBENCLK=0;

SysCtrlRegs.PCLKCR.bit.MCBSPENCLK=0;

SysCtrlRegs.PCLKCR.bit.ADCENCLK=0;

SysCtrlRegs.PCLKCR.bit.ECANENCLK=0;

SysCtrlRegs.PCLKCR.bit.SPIENCLK=0;

EDIS;      //对寄存器加保护
}




⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -