gpio_led.c
来自「开发环境为CCS。DSP12个典型例子源码」· C语言 代码 · 共 117 行
C
117 行
// TI File $Revision: /main/3 $
// Checkin $Date: July 2, 2007 11:33:22 $
//###########################################################################
//
// FILE: Example_2812GPIO_LED.c
//
// TITLE: DSP281x GPIO LED Test.
//
// ASSUMPTIONS:
//
// This program requires the DSP281x V1.00 header files.
// As supplied, this project is configured for "boot to H0" operation.
//
// To work properly this test requires hardware configuration described
// below.
//
//
//###########################################################################
// $TI Release: DSP281x Header Files V1.11 $
// $Release Date: September 26, 2007 $
//###########################################################################
#include "DSP281x_Device.h" // DSP281x Headerfile Include File
#include "DSP281x_Examples.h" // DSP281x Examples Include File
// Prototype statements for functions found within this file.
void Gpio_select(void);
void delay_loop(Uint16 loop_time);
void main(void)
{
/*初始化系统*/
InitSysCtrl();
/*关中断*/
DINT;
IER = 0x0000;
IFR = 0x0000;
/*初始化PIE*/
InitPieCtrl();
/*初始化PIE中断矢量表*/
InitPieVectTable();
Gpio_select();
GpioDataRegs.GPACLEAR.all=0xFFFF;
GpioDataRegs.GPBCLEAR.all=0xFFFF;
delay_loop(10000);
while(1)
{
GpioDataRegs.GPADAT.bit.GPIOA10=1; //LED1 亮;
delay_loop(10000);
GpioDataRegs.GPADAT.bit.GPIOA10=0; //LED1 灭;
delay_loop(10000);
GpioDataRegs.GPADAT.bit.GPIOA13=1; //LED2 亮;
delay_loop(10000);
GpioDataRegs.GPADAT.bit.GPIOA13=0; //LED2 灭;
delay_loop(10000);
GpioDataRegs.GPBDAT.bit.GPIOB2=1; //LED3 亮;
delay_loop(10000);
GpioDataRegs.GPBDAT.bit.GPIOB2=0; //LED3 灭;
delay_loop(10000);
GpioDataRegs.GPBDAT.bit.GPIOB0=1; //LED4 亮;
delay_loop(10000);
GpioDataRegs.GPBDAT.bit.GPIOB0=0; //LED4 灭;
delay_loop(10000);
GpioDataRegs.GPBDAT.bit.GPIOB1=1; //LED5 亮;
delay_loop(10000);
GpioDataRegs.GPBDAT.bit.GPIOB1=0; //LED5 灭;
delay_loop(10000);
GpioDataRegs.GPBDAT.bit.GPIOB3=1; //LED6 亮;
delay_loop(10000);
GpioDataRegs.GPBDAT.bit.GPIOB3=0; //LED6 灭;
delay_loop(10000);
GpioDataRegs.GPADAT.bit.GPIOA11=1; //LED7 亮;
delay_loop(10000);
GpioDataRegs.GPADAT.bit.GPIOA11=0; //LED7 灭;
delay_loop(10000);
GpioDataRegs.GPADAT.bit.GPIOA9=1; //LED8 亮;
delay_loop(10000);
GpioDataRegs.GPADAT.bit.GPIOA9=0; //LED8 灭;
delay_loop(10000);
}
}
void Gpio_select(void)
{
EALLOW;
GpioMuxRegs.GPAMUX.all=0x0000;
GpioMuxRegs.GPBMUX.all=0x0000;
GpioMuxRegs.GPADIR.all=0xFFFF;
GpioMuxRegs.GPBDIR.all=0xFFFF;
GpioMuxRegs.GPAQUAL.all=0X0000;
GpioMuxRegs.GPBQUAL.all=0X0000;
EDIS;
}
//**************************************//
// Delay time function: set i[ms]with delay time function
//**************************************//
void delay_loop(Uint16 loop_time)
{
short i;
for(i=0;i<loop_time;i++){
asm(" RPT #100000 ||NOP ");
}
}
//===========================================================================
// No more.
//===========================================================================
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?