- 积分
- 0
贡献0
飞刀0 FD
注册时间2016-3-11
在线时间0 小时
|
楼主 |
发表于 2013-4-3 16:34:12
|
显示全部楼层
最后我在这里把视频中的代码也贴上来,希望朋友们可以用到:
Main.c文件:
#define rGPMCON (*(volatile unsigned *)(0x7F008820))
#define rGPMDAT (*(volatile unsigned *)(0x7F008824))
#define rGPMPUD (*(volatile unsigned *)(0x7F008828))
void msDelay(int time)
{
volatile unsigned int i,j;
for(i = 0; i < 2000000; i++)
for(j=0; j<time; j++);
}
void GPIO_Init(void)
{
rGPMCON= 0x11111;//初始化控制寄存器,使每一个寄存器处于output状态
rGPMDAT= 0X1F;//初始化控制寄存器,使每一个灯都灭着
}
void LedTest(void)
{
volatile unsigned int i;
while (1)
{
for(i=0; i<4; i++)
{
rGPMDAT= ~(1<<i);//用位操作控制灯的循环点亮
msDelay(10);//延时10ms
}
}
}
void Main(void)
{
GPIO_Init();
LedTest();
}
Init.s
IMPORT Main
AREA |C$$code|, CODE, READONLY
global start
start
bl Main
END
裸机的相关知识比较少,这期就差不多讲完了。下期开始主要是Linux的相关内容,大家要是有什么想了解的知识点可以在帖子里面告诉我,只要是我会的,尽量录制在下期视频和大家交流。 |
|