main.c

来自「ARM程序」· C语言 代码 · 共 83 行

C
83
字号
/*******************************************************************************************************
* 文件名:main.c
* 功  能:开发板main()函数例子
* 作  者:POWER
* 日  期:2006年9月28号
* 斯凯科技主页:www.armsky.net
* 斯凯科技论坛:www.armsky.net/bbs
********************************************************************************************************/
#include "config.h"

 uint8 keycode=200;
 /////////////////////////////////************************************************************
////key
/////////////////////////////////
void Delaym(uint8 u)
{uint8 i,j;
 for(i=0;i<u;i++)
  for(j=0;j<0xff;j++);
}
//////////////////////////////////////////////
uint8 key(void)
{uint8 i,p;
 uint8 keystate=0;
 IODIR =IODIR|(0x0f<<4);
 IODIR =IODIR&(~(0x0f<<16));
 IO0PIN =IO0PIN&(~(0x0f<<4));  
 if((IO1PIN&(0x0f<<16))!=(0x0f<<16))
  { 
  Delaym(100);
  if((IO1PIN&(0x0f<<16))!=(0x0f<<16))
    {
     for(i=0;i<4;i++)
       {
       IO0PIN=(IO0PIN&(~(0x0f<<4)))|(((~(1<<i))&0x0f)<<4);
       p =IO0PIN>>16;
       if((p&0x1)==0){
         keycode=0;
         break;}
        else if ((p&0x2)==0){
         keycode=4;
         break;}
       else if ((p&0x4)==0){
         keycode=8;
         break;}
       else if ((p&0x8)==0){
         keycode=12;
         break;}
       else
         keystate=0; 
       }
       keycode=keycode +i;
       keystate=1;
     }
  
   }
   
  return keystate;
}
//////////////********************************************************************************


int main (void)
{ uint8 op[]="\n";
   while(1)
    key();
    return 0;
}















⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?