📄 jtd.c
字号:
#include "DSP28_Device.h"
void Gpio_select(void);
void urgency(void);
void delay_loop(void);
void ready(void);
unsigned int var1 = 0;
unsigned int var2 = 0;
unsigned int var3 = 0;
unsigned long int i,j,k;
void main(void)
{
InitSysCtrl();
// Disable and clear all CPU interrupts:
DINT;
IER = 0x0000;
IFR = 0x0000;
// Run GPIO test
var1= 0x0000; // sets GPIO Muxs as I/Os
var2= 0xC7FF; // sets GPIO DIR as outputs
var3= 0x0000; // sets the Input qualifier values
Gpio_select();
// Toggle I/Os using DATA register for ever
while(1)
{
GpioDataRegs.GPADAT.all =0x38ED;
for(i=0;i<10;i++)
{
delay_loop();
if(GpioDataRegs.GPADAT.bit.GPIOA12==0)
{ urgency(); }
}
for(j=0;j<2;j++)
{
GpioDataRegs.GPADAT.all=0x38FD;
delay_loop();
GpioDataRegs.GPADAT.all=0x38ED;
delay_loop();
}
ready();
GpioDataRegs.GPADAT.all =0x38B7;
for(i=0;i<10;i++)
{
delay_loop();
if(GpioDataRegs.GPADAT.bit.GPIOA12==0)
{ urgency(); }
}
for(j=0;j<2;j++)
{
GpioDataRegs.GPADAT.all=0x38BF;
delay_loop();
GpioDataRegs.GPADAT.all=0x38B7;
delay_loop();
}
ready();
}
}
void Gpio_select(void)
{
EALLOW;
GpioMuxRegs.GPAMUX.all=var1;
GpioMuxRegs.GPADIR.all=var2; // GPIO PORTs as output
GpioMuxRegs.GPAQUAL.all=var3; // Set GPIO input qualifier values
EDIS;
}
void urgency()
{
GpioDataRegs.GPADAT.all=0x00BD;
for(j=0;j<10;j++)
{delay_loop();}
}
void ready()
{
GpioDataRegs.GPADAT.all=0x38DB;
for(i=0;i<4;i++)
{delay_loop();}
}
void delay_loop()//延时子程序
{
for (k=0;k<5500000;k++) {}
}
//===========================================================================
// No more.
//===========================================================================
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -