====== RTC の利用 ====== XG-50 で使用している SoC の STM32L476 には、RTC が搭載されています。\\ オプションの電池を接続することでメイン電源が切れても時刻を刻み続けることもできます。 下記 /dev/ 以下に見えるとおり **/dev/rtc0** 経由で制御を行います。 nsh> ls -l /dev /dev: cr--r--r-- 0 adc0 crw-rw-rw- 0 console crw-rw-rw- 0 i2c1 brw-rw-rw- 0 mtdblock0 crw-rw-rw- 0 null crw-rw-rw- 0 ptmx crw-rw-rw- 0 ramlog cr--r--r-- 0 random crw-rw-rw- 0 rtc0 <---- RTC crw-rw-rw- 0 timer0 crw-rw-rw- 0 ttyS0 crw-rw-rw- 0 ttyS1 crw-rw-rw- 0 ttyS2 crw-rw-rw- 0 ttyS3 crw-rw-rw- 0 zero \\ ===== ソフトウェア ===== ==== API ==== **ioctl()** で用意されているリクエストは以下になります。 ^ Request ^ 内容 ^ Note ^ | RTC_RD_TIME | 日時読み出し | | | RTC_SET_TIME | 日時設定 | | | RTC_HAVE_SET_TIME | 日時設定済みか確認 | | | RTC_SET_ALARM | アラーム((絶対日時による))設定 |''struct rtc_time'' で指定| | RTC_SET_RELATIVE | アラーム((相対秒数による))設定 |''time_t'' で指定| | RTC_CANCEL_ALARM | アラーム取り消し | | | RTC_RD_ALARM | アラーム設定読み出し | | | RTC_SET_PERIODIC | 定期起床設定 | | | RTC_CANCEL_PERIODIC | 定期起床取り消し | | \\ ==== サンプル ==== プログラムの例は ''apps/examples/alarm/alarm_main.c'' を参照してください。 \\