標(biāo)題: 請(qǐng)教高手 [打印本頁(yè)]

作者: shenxinghong168    時(shí)間: 2013-3-16 11:31
標(biāo)題: 請(qǐng)教高手
一個(gè)簡(jiǎn)單的ARM指令,卻實(shí)現(xiàn)不了如下功能:按下鍵(p0.20),實(shí)現(xiàn)led燈閃三下,松開鍵,燈滅,采用查詢方式,不采用中斷方式,代碼如下:

********************************************************************************************************/
#include "config.h"

#define ledcon  (0xfu<<28)
#define beepcon (0x1<<7)
#define keycon  (0x1<<20)

///////////////////////////////////////////////////////////
void delay(uint32 delaytime)
{
uint32 i;
for (;delaytime>0;delaytime--)
    {for(i=5000;i>0;i--);}
}

///////////////////////////////////////////////////////////
void ledon()
{
    IO2SET=ledcon;
    delay(10);
}

//////////////////////////////////////////////////////////
void ledoff()
{
    IO2CLR=ledcon;
    delay(10);
}

///////////////////////////////////////////////////////////
void beepon()
{
    IO0SET=beepcon;
    delay(10);
}

///////////////////////////////////////////////////////////
void beepoff()
{
    IO0CLR=beepcon;
    delay(10);
}

//////////////////////////////////////////////////////////


//////////////////////////////////////////////////////////
int main (void)
{
uint8 nCount;

//P0.20 GPIO
PINSEL1=PINSEL1 & 0xfffffcff;

while (1)
{
    if ((IO0PIN & keycon)!=0)
    {
      for(nCount=3;nCount>0;nCount--)
      {
        ledon();
        //ledoff();     //如果允許執(zhí)行此語(yǔ)句,則開機(jī)一復(fù)位燈就一直亮,如果屏蔽此語(yǔ)句,則按下鍵燈亮,松鍵燈滅,不知是何原因,請(qǐng)高手指點(diǎn)?
      }
    }
    else
    {
       ledoff();
   }
   
}

    return 0;
}







歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1