• 締切済み

時刻の比較に関して

MicroItron(SH4) renesas純正のHi7000/4シリーズにて C言語で開発を行っています。 現在時刻(年月日時分それぞれ2桁)と、任意の時刻を比較を行い、 現在時刻±N時間以内か否かを判断するロジックを考えています。 MicroItron(SH4)での開発がはじめてで、 時刻に関してどのような関数があるのか分からず、困っています。 ご存知の方、ご教授のほど、よろしくお願い致します。

みんなの回答

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.2

> 外部装置から通知される時間が 「外部装置」もそこから通知される「時間」も正体不明ですので、何ともアドバイスのしようがありません。 > UTCに変換とかできればよいのですが。。。。 自分で計算すればよいだけでは? リアルタイムクロックが閏秒に対応していないことを問題視しているのであれば、閏秒はこの際諦めた方がよいでしょう。

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.1

μITRON 4.0仕様には、暦時間を取得する機能は存在しません。 暦時間を扱うには、リアルタイムクロックを使うなど、ハードウェア構成にどうしても依存してしまいます。μITRONは、特定のハードウェア構成を仮定していませんので、そのような機能はサポートしていません。 では、どうやって > 現在時刻(年月日時分それぞれ2桁)と、任意の時刻を比較を行い、 > 現在時刻±N時間以内か否かを判断するロジック を実現するかですが、やはりハードウェア構成に依存します。 質問者さんがどんな構成のハードウェアを相手にしているのか判らない限り、暦時間の取得方法は分かりません。 リアルタイムクロックを使用しているのであれば、ICのドキュメントと、基板のメモリマップ等を頼りに、(OSとは関係なく)直接ハードウェアを制御してください。もし、何らかのデバイスドライバやライブラリがあるのなら、それを作った人に使い方を聞いてください。

mkob
質問者

お礼

回答ありがとうございます。 リアルタイムクロックを使用しています。 そこからの時刻の取得方法は判明しています。 RTCから取得した時間と、外部装置から通知される時間が ±12時間以内が否かを判断したいのですが、 その方法で困っています。 UTCに変換とかできればよいのですが。。。。