#define rGPFCON (*(volatile unsigned *)(0x7F0080A0))
#define rGPFDAT (*(volatile unsigned *)(0x7F0080A4))
#define rGPFPUD (*(volatile unsigned *)(0x7F0080A8))
void msDelay(int time)
{
volatile unsigned int i,j;
for(i = 0; i < 200000; i++)
for(j=0; j<time; j++);
}
void GPIO_Init(void)
{
rGPFCON = rGPFCON & (~(0x1 << (31)));
rGPFCON = rGPFCON | (0x1 << (2*15));
rGPFPUD = rGPFPUD & (~(0x3 << (2*15))) ;
rGPFDAT = rGPFDAT | 0x8000;
}
void BeepOn(void)
{
rGPFDAT = rGPFDAT | 0x8000;
}
void BeepOff(void)
{
rGPFDAT = rGPFDAT & 0x7fff;
}
void BeepTest(void)
{
int p;
p=100;
while (p>0)
{
BeepOn();
msDelay(p);
BeepOff();
msDelay(p);
p--;
}
BeepOff();
}
void Main(void)
{
GPIO_Init();
BeepTest();
}