?? example_28xgpio.c
字號:
#include "DSP28_Device.h"
#include "DSP28_Globalprototypes.h"
// Prototype statements for functions found within this file.
// interrupt void ISRTimer2(void);
void delay_loop(void);
void Gpio_select(void);
void Set_Delay(unsigned int Delay_Num);
void Delay_10ms(void);
unsigned int var1 = 0;
unsigned int var2 = 0;
unsigned int var3 = 0;
unsigned int var4 = 0;
unsigned int var5 = 0;
void main(void)
{
InitSysCtrl();
// Disable and clear all CPU interrupts:
DINT;
IER = 0x0000;
IFR = 0x0000;
// Initialize Pie Control Registers To Default State:
InitPieCtrl();
InitPieVectTable();
// Run GPIO test
var1= 0x0000; // sets GPIO Muxs as I/Os
var2= 0xFFFF; // sets GPIO DIR as outputs
var3= 0x0000; // sets the Input qualifier values
Gpio_select();
// Toggle I/Os using DATA register for ever
while(1)
{
unsigned int m;
/*
GpioDataRegs.GPADAT.all =0xAAAA;
GpioDataRegs.GPBDAT.all =0xAAAA;
GpioDataRegs.GPDDAT.all =0x0022;
GpioDataRegs.GPEDAT.all =0x0002;
GpioDataRegs.GPFDAT.all =0xAAAA;
GpioDataRegs.GPGDAT.all =0x0020;
*/
/*
GpioDataRegs.GPFSET.bit.GPIOF13=1;
GpioDataRegs.GPFSET.bit.GPIOF12=1;
GpioDataRegs.GPFSET.bit.GPIOF11=1;*/
// GpioDataRegs.GPFSET.bit.GPIOF2=1;
// GpioDataRegs.GPFSET.bit.GPIOF0=1;
// GpioDataRegs.GPFDAT.bit.GPIOF0=0;
GpioDataRegs.GPFDAT.bit.GPIOF2=0;
for(m =0; m <=2; m++)
{
Delay_10ms();
}
/*
GpioDataRegs.GPADAT.all =0x5555;
GpioDataRegs.GPBDAT.all =0x5555;
GpioDataRegs.GPDDAT.all =0x0041; // Four I/Os only
GpioDataRegs.GPEDAT.all =0x0005; // ThreeI/Os only
GpioDataRegs.GPFDAT.all =0x5555;
GpioDataRegs.GPGDAT.all =0x0010; // Two I/Os only
*/
/*
GpioDataRegs.GPFCLEAR.bit.GPIOF13=1;
GpioDataRegs.GPFCLEAR.bit.GPIOF12=1;
GpioDataRegs.GPFCLEAR.bit.GPIOF11=1;*/
// GpioDataRegs.GPFDAT.bit.GPIOF0=1;
GpioDataRegs.GPFDAT.bit.GPIOF2=1;
for(m =0; m <=2; m++)
{
Delay_10ms();
}
}
}
void delay_loop()
{
short i;
for (i = 0; i < 3000; i++) {}
}
void Set_Delay(unsigned int Delay_Num)
{
unsigned int i;
for(i = 0; i <= Delay_Num; i++)
{
asm(" NOP");
}
}
void Delay_10ms(void)
{
unsigned int i;
for(i = 0; i < 10000; i++)
{
Set_Delay(200);
}
}
void Gpio_select(void)
{
EALLOW;
GpioMuxRegs.GPAMUX.all=var1;
GpioMuxRegs.GPBMUX.all=var1;
GpioMuxRegs.GPDMUX.all=var1;
GpioMuxRegs.GPFMUX.all=var1;
GpioMuxRegs.GPEMUX.all=var1;
GpioMuxRegs.GPGMUX.all=var1;
GpioMuxRegs.GPADIR.all=var2; // GPIO PORTs as output
GpioMuxRegs.GPBDIR.all=var2; // GPIO DIR select GPIOs as output
GpioMuxRegs.GPDDIR.all=var2;
GpioMuxRegs.GPEDIR.all=var2;
GpioMuxRegs.GPFDIR.all=var2;
GpioMuxRegs.GPGDIR.all=var2;
GpioMuxRegs.GPAQUAL.all=var3; // Set GPIO input qualifier values
GpioMuxRegs.GPBQUAL.all=var3;
GpioMuxRegs.GPDQUAL.all=var3;
GpioMuxRegs.GPEQUAL.all=var3;
EDIS;
}
//===========================================================================
// No more.
//===========================================================================
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -