arm
lizhongxu1992吧
全部回复
仅看楼主
level 3
yinglongnvba 楼主
#include "config.h"
#define LEDCON 0x00000800
void Eint1 (void) __attribute__ ((interrupt));
uint32 i,j;
void Eint1(void)
{
j=VICIRQStatus;
i=IO0SET;
if((i&LEDCON)==0)
{
IO0SET=LEDCON;
}
else
{
IO0CLR=LEDCON;
}
while((EXTINT&0x02)!=0)
{
EXTINT=0x02;
}
VICVectAddr=0x00;
}
int main()
{
PINSEL0=0x20000000;
PINSEL1=0x00000000;
IO0DIR=LEDCON;
VICIntSelect=0x00000000;
EXTMODE=0x00;
EXTPOLAR=0x00;
VICIntEnable=0x00008000;
//VICVectCntl1=0x2F;
//VICVectAddr1=(int)Eint1;
EXTINT=0x0F;
while(1);
}
2014年04月03日 03点04分 1
level 3
yinglongnvba 楼主
#include "config.h"
#define LEDCON 0x00000200
#define KEY 0x00008000
void WaitKey(void)
{
uint32 i;
while(1)
{
while((IO0PIN&KEY)!=0);
for(i=0;i<50000;i++);
if((IO0PIN&KEY)==0)break;
}
while((IO0PIN&KEY)==0);
}
int main(void)
{
PINSEL0=0x00000000;
PINSEL1=0x00000000;
IO0DIR=LEDCON;
while(1)
{
IO0SET=LEDCON;
WaitKey();
IO0CLR=LEDCON;
WaitKey();
}
}
2014年04月03日 03点04分 2
level 3
yinglongnvba 楼主
#include "config.h"
void DelayNS(uint32 dly)
{
uint32 i;
for(;dly>0;dly--)
for(i=0;i<50000;i++);
}
void UART_Init(void)
{
U1LCR=0x83;
U1DLL=97;
U1DLM=0x00;
U1LCR=0x03;
U0LCR=0x83;
U0DLL=97;
U0DLM=0x00;
U0LCR=0x03;
}
void UART_SendByte(uint8 data,uint8 num)
{
if(num==0)
{
U0THR=data;
while((U0LSR&0x20)==0);
}
if(num==1)
{
U1THR=data;
while((U1LSR&0x20)==0);
}
}
void UART_SendStr(uint8 *str,uint8 num)
{
while(1)
{
if(*str=='\0')
{
if(num==0)
{
UART_SendByte('\r',0);
UART_SendByte('\n',0);
}
if(num==1)
{
UART_SendByte('\r',1);
UART_SendByte('\n',1);
}
break;
}
if(num==0)
UART_SendByte(*str++,0);
if(num==1)
UART_SendByte(*str++,1);
}
}
uint8 UART1_RecvByte(void)
{
while(!(U1LSR&0x01));
return U1RBR;
}
int main(void)
{
uint8 SEND_STRING0[]="HELLO WORLD! MY UART0\n";
uint8 SEND_STRING1[]="HELLO WORLD! MY UART1\n";
PINSEL0=0x00050005;
PINSEL1=0x00000000;
UART_Init();
UART_SendStr(SEND_STRING0,0);
UART_SendStr(SEND_STRING1,1);
DelayNS(10);
while(1)
{
UART_SendByte(UART1_RecvByte(),1);
}
}
2014年04月03日 03点04分 3
1