⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 control.c

📁 一个在ARM上通用的IIC的程序,已经测试用过了,
💻 C
字号:
#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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -