순수한 C++ OOP 스타일 코드와 함께 Arduino 용 UART 직렬 포트를 통해 대화식 셸을 구현하고 싶습니다. 하지만 코드에서 사용자 입력 명령을 판단 할 때 if-else 판단이 너무 많으면 다소 추울 것입니다.Arduino 용 UART 직렬을 통한 대화식 셸?
그래서 저는 if-use를 사용하지 않는 방법이 있는지 묻고 싶습니다. else 문? 예를 들어,
하기 전에 :
while(Serial.available())
{
serialReceive = Serial.readString();// read the incoming data as string
Serial.println(serialReceive);
}
if(serialReceive.equals("factory-reset"))
{
MyService::ResetSettings();
}
else if(serialReceive.equals("get-freeheap"))
{
MyService::PrintFreeHeap();
}
else if(serialReceive.equals("get-version"))
{
MyService::PrintVersion();
}
AFTER : 당신은 명령을 트리거하는 문자열과 함께 함수 포인터를 저장하는 배열을 가질 수
while(Serial.available())
{
serialReceive = Serial.readString();// read the incoming data as string
Serial.println(serialReceive);
}
MagicClass::AssignCommand("factory-reset", MyService::ResetSettings);
MagicClass::AssignCommand("get-freeheap", MyService::PrintFreeHeap);
MagicClass::AssignCommand("get-version", MyService::PrintVersion);