PC에서 단일 키 입력을 받는 함수를 만들자.
일단 a,b,c,d 4개만 구분해 보았다.
다른 키를 입력받으려면 코드를 좀더 수정하면 된다.
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <stdint.h>
#include <conio.h>
//void init_key(key_t* key, uint8_t pin_no);
uint16_t read_key();
uint16_t read_key() {
uint16_t key_val = 0;
if (_kbhit()) {
key_val = (uint16_t)_getch();
}
return key_val;
}
int main(void) {
static uint32_t tmp_cnt = 0; // 별 의미없음
uint16_t key_val = 0;
printf("Press a,b,c,d key...\\r\\n");
while (true) {
key_val = read_key();
switch (key_val) {
case 0x61: printf("[%d] %c : %x\\n", ++tmp_cnt, key_val, key_val); break;
case 0x62: printf("[%d] %c : %x\\n", ++tmp_cnt, key_val, key_val); break;
case 0x63: printf("[%d] %c : %x\\n", ++tmp_cnt, key_val, key_val); break;
case 0x64: printf("[%d] %c : %x\\n", ++tmp_cnt, key_val, key_val); break;
// 계속 추가하면 된다.
//default : printf("key value not defined...\\n"); break;
}
}
return 0;
}