打印
[NUC120]

HOT-NUC120助学板第一帖 GPIO应用

[复制链接]
1980|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
电子write_cai|  楼主 | 2011-8-21 11:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 缥缈九哥 于 2012-9-14 12:11 编辑
 ;/*********************基本功能实现跑马灯的效果**********************/
;/*********************GPA2,3,4,5为输出模式,低电平亮*****************/
#include "NUC1xx.h"
#include "DRVGPIO.h"
#include "DRVSYS.h"
      
static  uint8_t    EGPADATA=0xfb;
static  uint16_t   EGPBDATA=0x0000;
static  int8_t     Led_Count;
  

void InitSYS()
{
   UNLOCKREG(x); //解锁
   DrvSYS_SetOscCtrl(E_SYS_XTL12M, 1); //使能外部12M
   DrvSYS_Delay(5000);
   LOCKREG(x);
}
void InitGpio()
{
  DrvGPIO_Open(E_GPB, 10,E_IO_OUTPUT);
  DrvGPIO_Open(E_GPA, 2, E_IO_OUTPUT);  //设置GPA2为输出模式;
  DrvGPIO_Open(E_GPA, 12, E_IO_INPUT);
  DrvGPIO_SetPortBits(E_GPA,EGPADATA);    //给端口写数据,这是整个端口操作;
  DrvGPIO_SetPortBits(E_GPB,EGPBDATA);
}
void Delay_ms()
{
  uint32_t x, y;
  for(x=1000;x>=5;x--)
    for(y=5;y<1000;y++);
}
int main()
{
  InitSYS();
  InitGpio();
   
  while(1)
  {
    for(Led_Count=0;Led_Count<=3;++Led_Count)
{
   InitGpio();
   Delay_ms();
   EGPADATA=((EGPADATA<<1)|0x04);
   
   
   if(EGPADATA==0xBC)   //由于助学板只有4个LED灯,所以计数达到这个值再重新赋值;
   {
      
      EGPADATA=0xFb;
   Led_Count=-1;
   DrvGPIO_SetBit(E_GPB, ~EGPBDATA);
      }
   
    }  
   
  }
  

}


GPIO控制流水灯.rar

625.92 KB

相关帖子

沙发
电子write_cai|  楼主 | 2011-8-21 11:29 | 只看该作者
仿真器有点问题,等会再传。

使用特权

评论回复
板凳
wj4813308| | 2011-9-29 08:25 | 只看该作者
顶~~~~~~~~~~~~

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:只要你是拼多多新用户就可以加我微信,微信号772880135验证您是新用户后立刻微信转你20元。欢迎朋友加我微信,多年21ic用户,诚信为本!

157

主题

1535

帖子

3

粉丝