CC2530 키 인터럽트 - 인터럽트 벡터
/*************************************************
* :Zigbee——
* :key_led.c
* :key1 led
* : Zigbee
* :
* LED1 P1_0
* KEY1 P0_4
*
* :2013.5.11
* : ***
* :
**************************************************/
#include
//
#define uchar unsigned char
#define uint unsigned int
//
#define LED1 P1_0 //LED1
#define LED2 P1_1 //LED2
#define KEY1 P0_4 //
//
void delayms(uint); //
void InitLed(); //P1
void InitKey(); // --
uchar KeyValue = 0;//
uint flag = 0;
uint key_flag = 1;
//
/**************************
* :delayms(uint ms)
* :
* :
* :
* :
**************************/
void delayms(uint ms)
{
uint i = 0;
uint j = 0;
for(i = 0; i < ms; ++i)
for(j = 0; j < 586; ++j);
}
/**************************
* :InitLed()
* :LED
* :
* :
* :
**************************/
void InitLed()
{
P1SEL &= ~0x02;// P1_0 IO
P1DIR |= 0x02;// P1_0
//LED1 = 1;// LED1
LED2 = 0;// LED2
}
/**************************
* :InitKey()
* :
* :
* :
* :
**************************/
void InitKey()
{
#if key_flag
//
flag = 0;
P0IEN |= 0x10;//P0_4
PICTL |= 0x01;//
IEN1 |= 0x20;// P0
P0IFG = 0x00;//
EA = 1;//
#else
//
flag = 1;
P0SEL &= ~0x10;// p0_4 IO
P0DIR &= ~0x10;// P0_4
P2INP &= ~0x11;// P0
P0INP &= ~0x10;// P0_4 /
#endif
}
/**************************
* :ScanKey()
* :
* :
* :
* :
1
0
**************************/
#pragma vector = P0INT_VECTOR // :#pragma vector =
__interrupt void P0_ISR(void)
{
delayms(20);//
//LED1 = ~LED1;// LED1
LED2 = ~LED2;// LED2
P0IFG = 0;//
P0IF = 0;//
}
/**************************
* :ScanKey()
* :
* :
* :
* :
1
0
**************************/
uchar ScanKey()
{
if(0 == KEY1)//
{
delayms(20);//
if(0 == KEY1)//
{
while(!KEY1);//
return 1;// 1
}
}
return 0;// 0
}
/**************************
* :main()
* :
* :
* :
* :
**************************/
void main()
{
InitLed();
InitKey();
#if flag
while(1)
{
if(ScanKey())
{
LED1 = ~LED1;//LED
}
}
#else
while(1);//
#endif
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
원본 컴파일 설치 EMQX V3.0 서버(MQTT)5G 시대, 만물 상호 연결 메시지 엔진!EMQ X(Erlang/Enterprise/Elastic MQTT Broker)는 Erlang/OTP 플랫폼을 기반으로 개발된 소스 사물인터넷 MQTT 메시지 서버입니다.Er...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.