今天终于把ARM开发软硬件平台搭载完成,开始了ARM的学习之旅.刚接触ARM7,感觉不知从哪里入手比较好.因为之前有单片机的开发基础,就先把它当做单片机来使用,于是我重新开始学习"单片机"了.我当初就是从最简单的LED闪烁实验开始学习的,不凡也弄一个在ARM7上跑跑,通过这个实验可以了解GPIO的基本操作.
跟51,AVR等单片机很相似,7S64也是通过对寄存器的操作来实现I/O口的输入输出,在本实验中用到的寄存器有:PIO_PER(PIO使能寄存器),PIO_OER(PIO输出使能寄存器),PIO_SODR(PIO置位输出数据寄存器),PIO_CODR(PIO清零输出数据寄存器).以下程序在MDK-ARM4.11上编译通过并测试成功.
示例代码:
#include<at91sam7s64.h>
#define uchar unsigned char
#define uint unsigned int
#define LED_MASK (1<<0)
AT91S_PIO * pPIO = AT91C_BASE_PIOA; /* Global Pointer to PIO */
void Delay(uint tt)
{
uint i;
while(tt-->0)
for(i=0;i<1000;i++);
}