|
아래와 같은 소스를 입력하면 아래와 같은 오류가 발생합니다... 어떻게 하면 해결될까요..? 부탁드립니다...
소스:
#include<hid.h>
#include<hiduhiversal.h>
#include<Usb.h>
#include<usbhub.h>
#include<avr/pgmspace.h>
#include<hidboot.h>
#include<Keyboard.h>
#include<LiquidCrystal.h>
#define DISPLAY_WIDTH 16
LiquidCrystal lcd(9,8,4,5,6,7);
USB Usb;
HIDBoot KEYBOARD(&Usb);
class KbdRptParser : public KeyboardReportParser
{
void PrintKey(uint8_t mod, uint8_t key);
protected:
virtual void OnkeyDown(uint8_t mod, uint8_t key);
virtual void OnkeyDown(uint8_t key);
};
void KbdRptParser::OnKeyDown(uint8_t mod, uint8_t key)
{
uint8_t c = OemToAscii(mod, key);
if(c)
{
OnKeyPressed(c);
}
};
void KbdRptParser::OnKeyPressed(uint8_t key)
{
Static uint32_t next_time = 0;
Static uint8_t current_cursor = 0;
if(millis() > next_time){
lcd.clear();
current_cursor = 0;
delay(5);
lcd.setCursor(0,0);
keyBuffer = "";
}
next_time = millis() + 200;
if(current_cursor++==(DISPLAY_WIDTH + 1)){
lcd.setCursor(0,1);
}
keyBuffer = keyBuffer + key;
Serial.println(KeyBuffer);
if(keyBuffer.equals("11111"))
{
lcd.print("ok");
keyBuffer = "";
}
else if(keyBuffer.equals("22222"))
{
lcd.print("No");
keyBuffer = "";
}
};
KbdRptParser Prs;
PS2Keyboard keyboard;
void setup() {
Serial.begin(9600);
Serial.println("start");
if(Usb.Init() == -1)
{
Serial.println("OSC did not start.");
}
delay(200);
keyboard.SetReportParser(0, (HIDReportParser*)&Prs);
lcd.begin(DISPLAY_WIDTH, 2);
lcd.clear();
lcd.noAutoscroll();
lcd.print("Ready");
delay(200);
}
void loop() {
Usb.Task();
}
오류:
ketch_3:22: error: no 'void KbdRptParser::OnKeyDown(uint8_t, uint8_t)' member function declared in class 'KbdRptParser'
sketch_3:32: error: no 'void KbdRptParser::OnKeyPressed(uint8_t)' member function declared in class 'KbdRptParser'
C:\Users\?넀?닕寃?\Documents\Arduino\program\sketch_3\sketch_3.ino: In function 'void setup()':
|