control.c

来自「一个在ARM上通用的IIC的程序,已经测试用过了,」· C语言 代码 · 共 77 行

C
77
字号
#include "../inc/def.h"
#include "../inc/config.h"
#include "../inc/board.h"
#include "s3c4510b.h"


void PortInit(void)
{
	outl(0xff, IOPMOD);	//PIO 0~7 output
	outl(0, IOPCON);
}


#define	LED1_ON()	outl(inl(IOPDATA)&~1, IOPDATA)
#define	LED2_ON()	outl(inl(IOPDATA)&~2, IOPDATA)
#define	LED3_ON()	outl(inl(IOPDATA)&~4, IOPDATA)
#define	LED4_ON()	outl(inl(IOPDATA)&~8, IOPDATA)
#define	LED5_ON()	outl(inl(IOPDATA)&~0x10, IOPDATA)
#define	LED6_ON()	outl(inl(IOPDATA)&~0x20, IOPDATA)
#define	LED7_ON()	outl(inl(IOPDATA)&~0x40, IOPDATA)
#define	LED8_ON()	outl(inl(IOPDATA)&~0x80, IOPDATA)

#define	LED1_OFF()	outl(inl(IOPDATA)|1, IOPDATA)
#define	LED2_OFF()	outl(inl(IOPDATA)|2, IOPDATA)
#define	LED3_OFF()	outl(inl(IOPDATA)|4, IOPDATA)
#define	LED4_OFF()	outl(inl(IOPDATA)|8, IOPDATA)
#define	LED5_OFF()	outl(inl(IOPDATA)|0x10, IOPDATA)
#define	LED6_OFF()	outl(inl(IOPDATA)|0x20, IOPDATA)
#define	LED7_OFF()	outl(inl(IOPDATA)|0x40, IOPDATA)
#define	LED8_OFF()	outl(inl(IOPDATA)|0x80, IOPDATA)

void LedSet(U32 LedStatus)
{
	if(LedStatus&1)
		LED1_ON();
	else
		LED1_OFF();
	
	if(LedStatus&2)
		LED2_ON();
	else
		LED2_OFF();
		
	if(LedStatus&4)
		LED3_ON();
	else
		LED3_OFF();
		
	if(LedStatus&8)
		LED4_ON();
	else
		LED4_OFF();
	//*********************************************************		
	if(LedStatus&0x10)
		LED5_ON();
	else
		LED5_OFF();
		
	if(LedStatus&0x20)
		LED6_ON();
	else
		LED6_OFF();
		
	if(LedStatus&0x40)
		LED7_ON();
	else
		LED7_OFF();
		
	if(LedStatus&0x80)
		LED8_ON();
	else
		LED8_OFF();
}



⌨️ 快捷键说明

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