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

[复制链接]
 楼主| 电子write_cai 发表于 2011-8-21 11:18 | 显示全部楼层 |阅读模式
本帖最后由 缥缈九哥 于 2012-9-14 12:11 编辑
  1. ;/*********************基本功能实现跑马灯的效果**********************/
  2. ;/*********************GPA2,3,4,5为输出模式,低电平亮*****************/
  3. #include "NUC1xx.h"
  4. #include "DRVGPIO.h"
  5. #include "DRVSYS.h"
  6.       
  7. static  uint8_t    EGPADATA=0xfb;
  8. static  uint16_t   EGPBDATA=0x0000;
  9. static  int8_t     Led_Count;
  10.   

  11. void InitSYS()
  12. {
  13.    UNLOCKREG(x); //解锁
  14.    DrvSYS_SetOscCtrl(E_SYS_XTL12M, 1); //使能外部12M
  15.    DrvSYS_Delay(5000);
  16.    LOCKREG(x);
  17. }
  18. void InitGpio()
  19. {
  20.   DrvGPIO_Open(E_GPB, 10,E_IO_OUTPUT);
  21.   DrvGPIO_Open(E_GPA, 2, E_IO_OUTPUT);  //设置GPA2为输出模式;
  22.   DrvGPIO_Open(E_GPA, 12, E_IO_INPUT);
  23.   DrvGPIO_SetPortBits(E_GPA,EGPADATA);    //给端口写数据,这是整个端口操作;
  24.   DrvGPIO_SetPortBits(E_GPB,EGPBDATA);
  25. }
  26. void Delay_ms()
  27. {
  28.   uint32_t x, y;
  29.   for(x=1000;x>=5;x--)
  30.     for(y=5;y<1000;y++);
  31. }
  32. int main()
  33. {
  34.   InitSYS();
  35.   InitGpio();
  36.    
  37.   while(1)
  38.   {
  39.     for(Led_Count=0;Led_Count<=3;++Led_Count)
  40. {
  41.    InitGpio();
  42.    Delay_ms();
  43.    EGPADATA=((EGPADATA<<1)|0x04);
  44.    
  45.    
  46.    if(EGPADATA==0xBC)   //由于助学板只有4个LED灯,所以计数达到这个值再重新赋值;
  47.    {
  48.       
  49.       EGPADATA=0xFb;
  50.    Led_Count=-1;
  51.    DrvGPIO_SetBit(E_GPB, ~EGPBDATA);
  52.       }
  53.    
  54.     }  
  55.    
  56.   }
  57.   

  58. }


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 电子write_cai 发表于 2011-8-21 11:29 | 显示全部楼层
仿真器有点问题,等会再传。
wj4813308 发表于 2011-9-29 08:25 | 显示全部楼层
顶~~~~~~~~~~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

157

主题

1534

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部
个人签名:只要你是拼多多新用户就可以加我微信,微信号772880135验证您是新用户后立刻微信转你20元。欢迎朋友加我微信,多年21ic用户,诚信为本!

157

主题

1534

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部