학교 예제에서 제가 조금 고쳐본 것입니다.
지그비 MANGO-ZDK 를 이용한 자판기 출력 예제입니다.
주석 처리된부분은 지그비에서 pc로만 통신했을 때의 예제이고 아래 것은 pc에서 값을 받아와 그에 해당하는 메뉴를 pc에 다시 찍어주는건데요..
ZSYS_UART1_GET(&c) 이 함수를 제가 잘 모르겠어서 그냥 써봤는데 학교실습을 집에서 공부하는거라 실습장비도 없고... 그러니 확인도 못해보고..
잘 쓴건지 모르겠어서요..
혹시 MANGO-ZDK 공부해보신분 있으신가 해서 여기 올려봅니다.
void ZUSER_AppInit()
{
ZSYS_UART_SET(1,9600,1,0x80);
pHwExtensiom->LogLevel=LOG_BIT_LEVEL_APP;
P0OEN=0xf0; //P0.0~3까지 LED output설정
P0REN=0x0f; //P0.4~7 스위치 pull-up 설정
zPrintf(1,LOG_BIT_LEVEL_APP,"\n(1) Cola (2) Cida (3) Coffee (4) Water \n");
pHwExtension-> TimerTick=1000;
}
void ZUSER_TIMER_Receive()
{
UINT8 c;
/* // 자판기 예제 1( 지그비->pc)
if(ZAPI_USER_GPIO_IN_1P==0){ //P0_7 스위치
Eval_Light_Control(1,2); // LED1을 토글
zPrintf(1,LOG_BIT_LEVEL_APP,"\n Cola \n");
}
else if(ZAPI_USER_GPIO_IN_2P==0){ //P0_6 스위치
Eval_Light_Control(2,2); // LED2를 토글
zPrintf(1,LOG_BIT_LEVEL_APP,"\n Cida \n");
}
else if(ZAPI_USER_GPIO_IN_3P==0) } //P0_5 스위치
Eval_Light_Control(3,2); // LED3을 토글
zPrintf(1,LOG_BIT_LEVEL_APP,"\n Coffee \n");
}
else if(ZAPI_USER_GPIO_IN_4P==0) } //P0_4 스위치
Eval_Light_Control(4,2); // LED4를 토글
zPrintf(1,LOG_BIT_LEVEL_APP,"\n Water \n");
}
*/
ZSYS_UART1_GET(&c)
switch(c){
case 1: zPrintf(1,LOG_BIT_LEVEL_APP,"\n Cola \n"); break;
case 2: zPrintf(1,LOG_BIT_LEVEL_APP,"\n Cida \n"); break;
case 3:zPrintf(1,LOG_BIT_LEVEL_APP,"\n Coffee \n"); break;
case 4: zPrintf(1,LOG_BIT_LEVEL_APP,"\n Water \n"); break;
default : break;
}
pHwExtension->TimerTick=1000;
}
void ZUSER_AppMain()
{
return;
}