打印

参照前辈写第一个M0程序,点亮LED

[复制链接]
1457|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
奋斗小杰|  楼主 | 2012-4-30 10:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
LED, gp, IO, GPIO, pi
#include <stdio.h>
#include "NUC1xx.h"
#include "DrvGPIO.h"
#include "DrvSYS.h"
#define GPA E_GPA
#define GPB E_GPB
#define GPC E_GPC
#define GPD E_GPD
#define INPUT  E_IO_INPUT
#define OUTPUT E_IO_OUTPUT
#define jia DrvGPIO_GetBit(GPB,15)
#define jian DrvGPIO_GetBit(GPB,14)
uint8_t temp;
uint8_t data;
void delay_loop(uint32_t count)// 1ms(晶振为12MHZ)延时子程序
{
    uint32_t i,j;
for(i=count;i>0;i--)
    for(j=2395;j>0;j--);
}
void system_int()
{
     UNLOCKREG();              
     DrvSYS_SetOscCtrl(E_SYS_XTL12M, 1);  
     LOCKREG(); // 芯片注册上锁
  delay_loop(100);
     DrvGPIO_Open( GPA, 2, OUTPUT ); // 设置GPA2端口为输出模式
  DrvGPIO_Open( GPA, 3, OUTPUT);  //  设置GPA3端口为输出模式
  DrvGPIO_Open( GPA, 4, OUTPUT);  //  设置GPA4端口为输出模式
  DrvGPIO_Open( GPA, 5, OUTPUT); //  设置GPA5端口为输出模式
  DrvGPIO_Open( GPB, 15,INPUT ); //  设置GPB15端口为输入模式
  DrvGPIO_Open( GPB, 14,INPUT); //  设置GPB14端口为输入模式
}
int32_t keyscan()
{
  
  if(jia==0)
    {
   delay_loop(5);
    if(jia==0)
    {
    while(!jia);
      temp++;
    }
   
}
if(jian==0)
    {
   delay_loop(5);
    if(jian==0)
    {
    while(!jian);
      temp--;
    }
   
}
        
   return temp;
  
}
int main (void)
{
    system_int();

      while(1)
      {
           DrvGPIO_ClrBit(E_GPA, 2); //LED1点亮
           delay_loop(500);  
          DrvGPIO_SetBit(E_GPA, 2); //LED1熄灭
          delay_loop(500);
         DrvGPIO_ClrBit(E_GPA, 2); //LED1点亮
          DrvSYS_Delay(100000);
           DrvGPIO_SetBit(E_GPA, 2); //LED1熄灭
           DrvSYS_Delay(700000);
     data=keyscan();
     switch(data)
     {
     case 1:DrvGPIO_ClrBit(GPA,2); break;
     case 2:DrvGPIO_ClrBit(GPA,3); break;
     case 3:DrvGPIO_ClrBit(GPA,4); break;
     case 4:DrvGPIO_ClrBit(GPA,5); break;
     default: break;
     }

      }
}

LED加按键.zip

518.06 KB

相关帖子

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

本版积分规则

个人签名:不怕做不到,就怕你敢不敢去做

0

主题

24

帖子

0

粉丝