?? main.c
字號:
#include "config.h"
uint8 temp=0xaa;
/****************************************************************************
* 名稱:DelayNS()
* 功能:長軟件延時
* 入口參數:dly 延時參數,值越大,延時越久
* 出口參數:無
****************************************************************************/
void delay(uint32 dly)
{ uint32 i;
for(; dly>0; dly--)
for(i=0; i<500; i++);
}
__inline void enable_irq()
{
uint8 tmp;
__asm
{
MRS tmp,CPSR
BIC tmp,tmp,#0x80
MSR CPSR_c,tmp
}
}
__inline void disable_irq()
{
uint8 tmp;
__asm
{
MRS tmp,CPSR
ORR tmp,tmp,#0x80
MSR CPSR_c,tmp
}
}
void __irq int1(void)
{
temp++;
while(EXTINT&(1<<0))
EXTINT=1<<0;
IOCLR=0x000000ff;
IOSET=temp;
VICVectAddr=0;
}
void __irq int2(void)
{
temp--;
while(EXTINT&(1<<1))
EXTINT=1<<1;
IOCLR=0x000000ff;
IOSET=temp;
VICVectAddr=0;
}
void __irq int3(void)
{
temp=0;
while(EXTINT&(1<<2))
EXTINT=1<<2;
IOCLR=0x000000ff;
IOSET=temp;
VICVectAddr=0;
}
/****************************************************************************
* 名稱:main()
* 功能:
****************************************************************************/
int main(void)
{
PINSEL0=0xa0000000;
PINSEL1=0x00000001;
IODIR=0x000000ff;
IOCLR=0x000000ff;
IOSET=temp;
VICIntSelect=0;
VICIntEnable=0x0001c000;
VICVectCntl0=0x0000002e;
VICVectCntl1=0x0000002f;
VICVectCntl2=0x00000030;
VICVectAddr0=(int)int1;
VICVectAddr1=(int)int2;
VICVectAddr2=(int)int3;
EXTINT=0x07;
enable_irq();
while(1);
/* {if(EXTINT&0x07)
{temp++;
while(EXTINT&0x07)
EXTINT=0x07;
IOCLR=0x000000ff;
IOSET=temp;}}*/
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -