📄 iopin.c
字号:
#include "DSP281x_Device.h" // DSP281x Headerfile Include File
#include "DSP281x_Examples.h" // DSP281x Examples Include File
// led
unsigned int uLed[12][2]={ {1,0x40},{2,0x40},{4,0x40},
{0,0x41},{0,0x42},{0,0x44},
{8,0x40},{0x10,0x40},{0x20,0x40},
{0,0x48},{0,0x50},{0,0x60},
};
// Prototype statements for functions found within this file.
void Delay(unsigned int nTime);
void Gpio_select(void);
void Gpio_PortA(void);
void Gpio_PortB(void);
#define T46uS 0x0d40
#define SCANCODE_0 0x70
#define SCANCODE_1 0x69
#define SCANCODE_2 0x72
#define SCANCODE_3 0x7A
#define SCANCODE_4 0x6B
#define SCANCODE_5 0x73
#define SCANCODE_6 0x74
#define SCANCODE_7 0x6C
#define SCANCODE_8 0x75
#define SCANCODE_9 0x7D
#define SCANCODE_Del 0x49
#define SCANCODE_Enter 0x5A
#define SCANCODE_Plus 0x79
#define SCANCODE_Minus 0x7B
#define SCANCODE_Mult 0x7C
#define SCANCODE_Divid 0x4A
#define SCANCODE_Num 0x77
#define CTRGR *(int *)0x108000
#define CTRLCDCMDR *(int *)0x108001
#define CTRKEY *(int *)0x108001
#define CTRLCDCR *(int *)0x108002
#define CTRCLKEY *(int *)0x108002
#define CTRLCDLCR *(int *)0x108003
#define CTRLCDRCR *(int *)0x108004
#define CTRLA *(int *)0x108005
#define CTRLR *(int *)0x108007
Uint16 var1 = 0;
Uint16 var2 = 0;
Uint16 var3 = 0;
Uint16 test_count = 0;
Uint16 Test_flag = 0;
Uint16 Test_var = 0;
Uint16 Test_status[32];
int jishu=0,uPort8000, nScanCode;
int nCountLed,i;
void main(void)
{ InitSysCtrl();//初始化cpu
DINT;//关中断
InitPieCtrl();//初始化pie寄存器
IER = 0x0000;//禁止所有的中断
IFR = 0x0000;
InitPieVectTable();
CTRGR=0; // 初始化ICETEK-CTR
CTRGR=0x80;
CTRGR=0;
CTRLR=0; // 关闭东西方向的交通灯
CTRLR=0x40; // 关闭南北方向的交通灯
CTRGR=2;
while (1)
{
nCountLed=0;
*(int *)0x108007=0;
*(int *)0x108007=0x40;
i=*(int *)0x108002;
for ( i=0;i<256;i++ )
{
*(int *)0x108007=uLed[nCountLed][0]; // 设置指示灯状态
*(int *)0x108007=uLed[nCountLed][1];
nCountLed++; nCountLed%=12;
Delay(1024);
nScanCode=*(int *)0x108001;
nScanCode&=0x0ff;
if ( nScanCode==SCANCODE_Enter ) break;
}
*(int *)0x108007=0;
*(int *)0x108007=0x40;
}
}
void Delay(unsigned int nDelay)
{
int ii,jj,kk=0;
for ( ii=0;ii<nDelay;ii++ )
{
for ( jj=0;jj<64;jj++ )
{
kk++;
}
}
}
//===========================================================================
// No more.
//========================================
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -