static void printTask(void *) {
System.ledToggle();
printf(
"[%lu usec] Hi!\n",
micros());
SerialUSB.printf(
"[%lu usec] Hi!\n",
micros());
}
System.ledToggle();
while (Serial.available() > 0) {
printf(
"[%lu usec] Keyboard input: 0x%02X\n",
micros(), Serial.read());
}
}
static void button() {
System.ledToggle();
printf(
"[%lu usec] User button pressed\n",
micros());
}
System.ledToggle();
while (SerialUSB.available() > 0) {
SerialUSB.printf(
"[%lu usec] Keyboard input: 0x%02X\n",
micros(), SerialUSB.read());
}
}
void setup() {
System.ledOn();
Serial.begin(115200);
printf("\n*** Serial test for ST Nucleo-L152RE ***\n");
attachInterrupt(BUTTON_BUILTIN, button, FALLING);
Serial.onReceive(keyboard);
Serial.listen();
SerialUSB.begin();
SerialUSB.onReceive(eventVcpInput);
SerialUSB.listen();
}
시리얼 포트를 제어하기 위한 클래스
Definition SerialPort.hpp:76
Timer는 일정 시간 이후에 1회 실행될 작업, 매 일정 시간마다 실행될 작업 등을 위한 기능입니다.
Definition Timer.hpp:61
bool startPeriodic(uint32_t millis, bool interrupt=false)
작업함수를 매 millis 밀리초 주기로 반복하여 실행합니다.
void onFired(void(*func)(void *), void *args=nullptr)
타이머 만료시 실행시킬 작업함수를 지정합니다.
uint32_t micros()
보드 부팅 이후부터 현재까지의 경과 시간을 마이크로초 단위로 구합니다.
bool pinMode(int8_t pin, enum ioDirection direction)
pin 을 direction 방향을 갖는 디지털 핀으로 동작하도록 설정합니다.
@ INPUT
Definition nola-common.h:382