exio.c

来自「S3C44B0X全套培训资料及源代码 e008s3c44b0x」· C语言 代码 · 共 79 行

C
79
字号
#include "..\startup\44b.h"#include "..\inc\ExIO.h"void init_ADdevice(){	rADCPSR=20;	rADCCON=ADCCON_SLEEP;}int GetADresult(int channel){	rADCCON=(channel<<2)|ADCCON_ENABLE_START;	Delay(10);	while(!(rADCCON&ADCCON_FLAG));	return rADCDAT;}void ScanLED(char n[]){	int i,temp=0x01;	for(i=0;i<8;i++){		EXIO_8255A_PORTB=0xff;		EXIO_8255A_PORTA=n[i];		EXIO_8255A_PORTB=~temp;		temp<<=1;		Delay(10);	}}void testExIO(){	int aa,i;	char n[]={0x50,0xff,0x88,0x55,0x55,0x55,0x55,0x55};	init_ADdevice();	EXIO_8255A_CTRL=0x80;	EXIO_8255B_CTRL=0x82;	//port B for input	EXIO_8255A_PORTA=0x55;	EXIO_8255A_PORTB=0xfe;	EXIO_8255A_PORTC=0x55;	EXIO_8255B_PORTA=0x55;	EXIO_8255B_PORTB=0x0;	EXIO_8255B_PORTC=0x55;	Delay(5000);/*	aa=EXIO_8255B_CTRL;	aa=EXIO_8255B_CTRL;	aa=EXIO_8255B_CTRL;	aa=EXIO_8255B_CTRL;*//*	for(;;){		aa=0x01;		for(i=0;i<8;i++){			EXIO_8255A_PORTC=aa;			aa<<=1;			ScanLED(n);			ScanLED(n);			ScanLED(n);			ScanLED(n);		}	}*/	for(;;){		for(i=0;i<10;i++){			aa=EXIO_8255B_PORTB;			EXIO_8255A_PORTC=aa;			ScanLED(n);		}		Uart_Printf("AD0=%d\tAD1=%d\tAD2=%d\tAD3=%d\n",GetADresult(0),GetADresult(1),			GetADresult(2),GetADresult(3));//		Uart_Printf("AD0=%d\n",GetADresult(0));//		Delay(1000);	}	aa=EXIO_8255A_CTRL;	aa=EXIO_8255B_CTRL;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?