C工程与寄存器封装

内存的访问

一.汇编语言访问存储器

1.读存储器
LDR R1,[R2]

2.写存储器

STR R1,[R2]
二.c语言访问存储器

1.读存储器
data =*ADDR

2.写存储器
*ADDR = data

实现LED2-LED5的流水灯:

代打如下

#include"exynos_4412.h"
int main(int argc, const char *argv[])
{
	//LED2 的28-31位变为0001,其余不变
	GPX2.CON = GPX2.CON & (~(0xF<<28))|(0x1<<28);
	//LED3 的di [0-3]位变为0001,其余不变
	GPX1.CON = GPX1.CON & (~(0xF<<28))|(0x1);
	//LED5 的20位变为1,其余不变
    GPF3.CON = GPF3.CON & (~(0xF<<20))|(0x1<<20);
	//LED4 的20位变为1,其余不变
    GPF3.CON = GPF3.CON & (~(0xF<<16))|(0x1<<16);
    

    


	while(1)
	{
     /*LED2点亮*/
	GPX2.DAT = GPX2.DAT | (1<<7);
	/*延时*/
	Delay(1000000);
	/*熄灭*/
	GPX2.DAT = GPX2.DAT & (~(1<<7));
	Delay(1000000);
   
	/*LED3点亮与熄灭*/
	GPX1.DAT = GPX2.DAT | 1;

	Delay(1000000);

	GPX1.DAT = GPX1.DAT & (~1);

	Delay(1000000);
    /*LED4点亮与熄灭*/

	GPF3.DAT = GPF3.DAT | (1<<4);
	Delay(1000000);
	GPF3.DAT = GPF3.DAT & (~(1<<4));
	Delay(1000000);


    /*LED5点亮与熄灭*/
	GPF3.DAT = GPF3.DAT | (1<<5);
	Delay(1000000);
	GPF3.DAT = GPF3.DAT & (~(1<<5));
	Delay(1000000);


	
		}
	return 0;
}

你可能感兴趣的:(c语言,java,jvm)