static void ledOffTask(void *args);
static void ledOnTask(void *args) {
ledTimer.
onFired(ledOffTask, NULL);
}
static void ledOffTask(void *args) {
}
static const char *weekday[] = { "SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT" };
static void printTask(void *args) {
Serial.write("0123456789\r\n");
printf(
"[%lu usec] Timer works!\n",
micros());
struct tm t;
System.getDateTime(t);
struct timeval now;
gettimeofday(&now, NULL);
printf(
"Now: %u-%u-%u %s %02u:%02u:%02u (%lu.%06ld)\n",
t.tm_year + 1900,
t.tm_mon + 1,
t.tm_mday,
weekday[t.tm_wday],
t.tm_hour,
t.tm_min,
t.tm_sec,
(uint32_t) now.tv_sec,
now.tv_usec
);
int32_t vRef, vBat;
vRef = System.getAnalogReferenceVoltage();
vBat = System.getBatteryVoltage();
printf("V_REF+: %d mV, V_BAT:%d mV\n", vRef, vBat);
}
static void eventDateTimeAlarm() {
struct tm t;
System.getDateTime(t);
printf("* Alarm! Now: %u-%u-%u %s %02u:%02u:%02u\n", t.tm_year, t.tm_mon, t.tm_mday, weekday[t.tm_wday], t.tm_hour, t.tm_min, t.tm_sec);
}
static void buttonPressed() {
printf(
"[%lu usec] Button works!\n",
micros());
}
if (c == 'q') {
} else {
printf("%02X ", c);
}
}
}
void setup() {
Serial.begin(115200);
Serial.onReceive(eventSerialRx);
Serial.listen();
printf("\n*** [RAK3172] Basic Functions ***\n");
printf("- Last reset reason: 0x%lx\n", System.getResetReason());
printTimer.
onFired(printTask, NULL);
}
시리얼 포트를 제어하기 위한 클래스
Definition SerialPort.hpp:76
virtual size_t write(uint8_t val)
문자 하나를 출력합니다.
virtual int read()
포트 내부 버퍼에 수신된 문자를 하다 꺼냅니다.
virtual int available()
포트 내부 수신버퍼에 수신된 문자의 갯수를 반환합니다.
Timer는 일정 시간 이후에 1회 실행될 작업, 매 일정 시간마다 실행될 작업 등을 위한 기능입니다.
Definition Timer.hpp:61
bool startOneShot(uint32_t millis, bool interrupt=false)
작업함수를 millis 밀리초 이후 1회 실행합니다.
bool startPeriodic(uint32_t millis, bool interrupt=false)
작업함수를 매 millis 밀리초 주기로 반복하여 실행합니다.
void onFired(void(*func)(void *), void *args=nullptr)
타이머 만료시 실행시킬 작업함수를 지정합니다.
uint32_t micros()
보드 부팅 이후부터 현재까지의 경과 시간을 마이크로초 단위로 구합니다.
void reboot()
소프트웨어 리셋을 통하여 시스템을 재시작합니다.
bool digitalWrite(int8_t pin, int value)
pin 를 HIGH 또는 LOW 로 설정합니다.
bool pinMode(int8_t pin, enum ioDirection direction)
pin 을 direction 방향을 갖는 디지털 핀으로 동작하도록 설정합니다.
@ OUTPUT
Definition nola-common.h:383