在线问答
直播中

dvd1478

11年用户 586经验值
擅长:可编程逻辑 电源/新能源 MEMS/传感技术 测量仪表 嵌入式技术 制造/封装 模拟技术 连接器 EMC/EMI设计 光电显示 存储技术 EDA/IC设计 处理器/DSP 接口/总线/驱动 控制/MCU RF/无线
私信 关注

【OK210试用体验】裸奔GPIO输入&KEY

1.png
2.png
除是普通引脚的输入外,还可以用外部中断
普通引脚输入读取 代码如下
#define MP0_4CON (*(volatile unsigned long *)0xE0200340)
#define MP0_4DAT (*(volatile unsigned long *)0xE0200344)
#define MP0_4PUD        (*(volatile unsigned long *)0xE0200348)
#define GPD0CON   (*(volatile unsigned long *)0xE02000A0)//buzzer
#define GPD0DAT (*(volatile unsigned long *)0xE02000A4)//buzzer
#define GPH0CON   (*(volatile unsigned long *)0xE0200C00)//key
#define GPH0DAT   (*(volatile unsigned long *)0xE0200C04)//key
void init(void)
{
    GPD0CON&= ~(0xF << 0);
    MP0_4CON = (MP0_4CON & ~0xFFFF0000) | 0x11110000;
    MP0_4PUD=(0x55<<16)&MP0_4PUD;
    MP0_4DAT =0xf<<4;
    GPH0CON &=0x00000FFF;
}
void main(void)
{
    init();
while(1)//循环检测按键是否按下
{
  if(GPH0DAT &(1<<3))//按键1未按下 k1  back
  {
   MP0_4DAT |=1<<4;//off
  }
  else//按键1按下
  {
   MP0_4DAT &=~(1<<4);//on
  }
     if(GPH0DAT &(1<<4))//k2  home
  {
   MP0_4DAT |=1<<5;//off
  }
  else
  {
   MP0_4DAT &=~(1<<5);//on
  }
         if(GPH0DAT &(1<<5))//k3 menu
  {
   MP0_4DAT |=1<<6;//off
  }
  else
  {
   MP0_4DAT &=~(1<<6);//on
  }
         if(GPH0DAT &(1<<6))//k4 power
  {
   MP0_4DAT |=1<<7;//off
  }
  else
  {
   MP0_4DAT &=~(1<<7);//on
  }
  if(GPH0DAT &(1<<7))//k5    search
  {
   MP0_4DAT |=0xf<<4;//all off
  }
  else
  {
   MP0_4DAT &=~(0xf<<4);//all on
  }
}
}


回帖(2)

himol

2015-9-12 18:22:40
你好!!!我是新手。。。。。我也申请到ok210的板子  我一直看ok6410 。。。有个问题没搞清。。。6410有j—link可以进行程序的下载和调试。。。而ok210在裸机的情况下怎么下载调试。。。谢谢
举报

dvd1478

2015-9-14 21:16:52
引用: himol 发表于 2015-9-12 18:22
你好!!!我是新手。。。。。我也申请到ok210的板子  我一直看ok6410 。。。有个问题没搞清。。。6410有j—link可以进行程序的下载和调试。。。而ok210在裸机的情况下怎么下载调试。。。谢谢

9、【OK210试用体验】程序调试与DNW下载(8.30)
https://bbs.elecfans.com/jishu_509084_1_1.html
举报

更多回帖

发帖
×
20
完善资料,
赚取积分