この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
xg_series_devel:use_rtc:start [2018/03/13 10:49] admin |
xg_series_devel:use_rtc:start [2018/12/25 09:34] (現在) admin [サンプル] |
||
---|---|---|---|
ライン 1: | ライン 1: | ||
+ | ====== RTC の利用 ====== | ||
+ | |||
+ | XG-50 で使用している SoC の STM32L476 には、RTC が搭載されています。\\ | ||
+ | オプションの電池を接続することでメイン電源が切れても時刻を刻み続けることもできます。 | ||
+ | |||
+ | 下記 /dev/ 以下に見えるとおり **/dev/rtc0** 経由で制御を行います。 | ||
+ | |||
+ | <code> | ||
+ | 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 | ||
+ | </code> | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ===== ソフトウェア ===== | ||
+ | |||
+ | ==== 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'' を参照してください。 | ||
+ | |||
+ | \\ | ||
+ | |||