经过昨天的理论学习,今天开始试验了..由于程序的主脉络比较清晰,从建立工程,写主函数,编译,以及下载到助学班上都很顺利.下面贴出我的程序.
/*------------------------------------------------------------------------- */
/* 实现目标:对助学班上的四个LED灯进行间隔循环点亮. */
/* 作者:小彬 */
/* 时间:2011年12月15日
/*------------------------------------------------------------------------- */
#include <stdio.h>
#include "NUC1xx.h"
#include "DrvGPIO.h"
#include "DrvSYS.h"
/*延时子程序----------------------------------------------------------------*/
/*延时时间:1S(在12M的晶振频率下)--------------------------------------------*/
void delay_ms(void)
{
uint32_t i,j;
for(i=1000;i>0;i--)
for(j=2395;j>0;j--);
}
/*---------------------------------------------------------------------------*/
/* 主程序 */
/*---------------------------------------------------------------------------*/
int main (void)
{
/*系统时钟设置*/
UNLOCKREG();
SYSCLK->PWRCON.XTL12M_EN = 1;
LOCKREG();
/*对M0端口的设置*/
DrvGPIO_Open(E_GPA,2, E_IO_OUTPUT);
DrvGPIO_Open(E_GPA,3, E_IO_OUTPUT);
DrvGPIO_Open(E_GPA,4, E_IO_OUTPUT);
DrvGPIO_Open(E_GPA,5, E_IO_OUTPUT);
while(1)
{
DrvGPIO_SetBit(E_GPA,5);
DrvGPIO_ClrBit(E_GPA,2);
delay_ms();
DrvGPIO_SetBit(E_GPA,2);
DrvGPIO_ClrBit(E_GPA,3);
delay_ms();
DrvGPIO_SetBit(E_GPA,3);
DrvGPIO_ClrBit(E_GPA,4);
delay_ms();
DrvGPIO_SetBit(E_GPA,4);
DrvGPIO_ClrBit(E_GPA,5);
delay_ms();
}
}
下面附上我的工程压缩包
GPIO流水灯实验.rar
(713.73 KB)
|