?? gpio.c
字號(hào):
//==============gpio============================//
#include"DSP281x_Device.h"
void Delay(long);
void Configuregpio(void);
void InitialSystem(void);
void main(void)
{
unsigned int LED= 1;
InitialSystem(); //初始化內(nèi)核寄存器
Configuregpio(); //對(duì)Gpio口進(jìn)行配置
Delay((long)2000);
while(1)
{
GpioDataRegs.GPBDAT.bit.GPIOB0=LED;
Delay((long)2000);
LED=1-LED;
}
}
//====================延時(shí)函數(shù)==============================//
void Delay(long end)
{
long i;
for(i=0;i<end;i++);
}
//=====================GPIO口初始化配置======================//
void Configuregpio(void)
{
EALLOW; //在向保護(hù)型寄存器寫數(shù)據(jù)時(shí)接觸保護(hù)
//將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口限制設(shè)定為0
GpioMuxRegs.GPAQUAL.all=0x0;
GpioMuxRegs.GPBQUAL.all=0x0;
GpioMuxRegs.GPDQUAL.all=0x0;
GpioMuxRegs.GPEQUAL.all=0x0;
EDIS; //對(duì)寄存器加保護(hù)
}
//=====================系統(tǒng)初始化函數(shù)===================//
void InitialSystem(void)
{
EALLOW; //在向保護(hù)型寄存器寫數(shù)據(jù)時(shí)接觸保護(hù)
SysCtrlRegs.WDCR=0x00E8; // 設(shè)置看門狗模塊 ,禁止看門狗
SysCtrlRegs.PLLCR.bit.DIV=10; //設(shè)置150M時(shí)鐘
SysCtrlRegs.HISPCP.all=0x1; //設(shè)置高速時(shí)鐘
SysCtrlRegs.LOSPCP.all=0x2; //設(shè)置低速時(shí)鐘
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; //對(duì)寄存器加保護(hù)
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -