• ベストアンサー

μItronでの日付の減算方法

【OS:μItron、言語:C言語】の開発にて、 2つの時刻を比較したいのですが、 現在考えている比較方法は 2つの時刻をUTC変換し、その値を減算しようと考えています。 この処理をμItronで実現できるのでしょうか。 実現できるのであれば、その方法を教えて頂きたいです。 以上です。

  • k_ken
  • お礼率83% (5/6)

質問者が選んだベストアンサー

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

μITRONのバージョンその他の情報が不明ですが... 一般的には、μITRONには時刻をUTCに変換する機能も、その減算を行う機能も備わっていません。 μITRON環境で実現することは可能ですが、それはμITRONのサービスコール等を用いて行うのではなく、自分で実装するか、それ相応のライブラリ等を用意する必要があるかと思います。

k_ken
質問者

お礼

ご回答ありがとうございます。 μITRONのSH4での実装なのですが、 時刻をUTCに変換するような機能があるのかどうか調査をして、 そのような機能がないと判断するのに困っていました。 時刻の比較方法を検討して、自分で実装を行ってみます。 ありがとうございました。

関連するQ&A

  • μiTronでの割込み処理について

    μiTron(SH4)でC言語を用いた開発を行います。 タスク間通信ではsnd_mbx,get_mbfなどを使用するのですが、 これらの関数は割り込みハンドラ内でも使えるのでしょうか? よろしくお願いします。

  • スペクトルの減算

    フリーソフト「ボーカルリデューサー」の原理を勉強しています。 サイト等で調べると、「周波数成分を分析し、両チャンネルの振幅スペクトル・位相スペクトルを比較して ベクトル減算したのちに逆変換してステレオ音源を得る」となっています。 スペクトルの求め方やフーリエ変換・逆変換は理解したのですが、 「ベクトル減算」の部分がよくわかりません。 周波数と各スペクトルの値をベクトル成分としてベクトル減算を行う、という解釈で良いのでしょうか。 また、位相スペクトルと振幅スペクトルは別々に比較・演算を行うのでしょうか。 ご教示願います。

  • 【組み込み開発】WindowsCEとμITRON

    組み込み系システムについて質問です 私は現在、以下通りアプリを移植を遂行しています。 【移植前アプリの環境】 OS=μITRON 言語=C# 【移植後アプリの環境】 OS=windowsCE 6.0 言語=VB.NET ※仕様はそのまま ※マシンスペックは移植後は後継機の為、僅かにCPU、メモリが良い 一通り完成し、windowsCE上でexeを実行したのですが、1つ大きな問題がありました。 それは、画面表示速度が移行前に比べ、圧倒的に遅いことです。 ファイルioを初め、中のロジックやDBは変えてないのに、表示が2~3倍遅いです。 同じリアルタイムOSであるにも関わらず、ここまでの差が出るのは、 どういった原因があるのでしょうか? 私自身組み込みシステムの開発経験が浅いため、何卒ご回答よろしくお願いします。

  • 日付の変換方法について

    OSはunix(Solaris8)で、c言語を使ってます。 DBからDATE型の日付データ(YYYYMMDDhhmmss)を取得してきて、 30分後の時間を計算して元のDATE型に戻して格納する処理を行いたい のですが、一度数値に変換した方がよいのでしょうか? それとも、もっと効率の良い方法がありましたら教えて下さい。 宜しく御願い致します。

  • Ubuntu上でITRONプログラムを作成したい

    現在、企業で教育を受けていまして、開発環境の作成も含めて自分で調べていくというスタイルで UNIX環境上でのC言語プログラミングをしようとしています。 古いWindowsパソコンにVMwarePlayer2.5.5を入れて、仮想マシンにUbuntu8.04LTSを入れています。 昨日の時点で、msgsend(), msgrcv()といった関数を使ってプロセス間でテキストメッセージを やりとりするサンプルプログラムを作成しまして、今日からはこのサンプルをITRONで動くように 改造しなさい、という課題を与えられました。 ソース的には、msgsend()をsnd_msg()などを使ったものに書き換えていけばいいと思うんですが、 ・改造したソースをどうやってUbuntu上で動かすのか? ・そもそもコンパイルできるのか? ということが分からないので、アドバイスをお願いします。 学校(ポリテクの職業訓練)で、H8-Tiny(3694F)マイコン+HEWを使って、 コンパイルされたITRONライブラリを利用したライントレーサのプログラム作成をしてきたのですが、 UbuntuでITRONを動かす(?)ということについて、基本的に自分の考え方がおかしい気がしているので、 できればそのあたりも指摘もお願いします。

  • 16進数 加算 減算 C言語

    今学校でC言語を学んでいるのですが、「16進数同士の加算・減算」を行う問題が出されました。 16進同士の計算となると'A'~'F'や桁上がりの対処など壁にぶち当たっています。 私は10進に直してから加算・減算し、また16進に直す方法しか思いつかず。16進のままで計算は出来ると思うのですが、分かりません。 教えて下さい。お願いします。

  • VBAで日付と時刻の計算に困っています

    すでに入力されている日本の日付と時刻を、欧州の日付と時刻に変換する というようなマクロを組みたいです。 もう少し具体的にいうと、 日本の日付と時刻が 2011/06/12 07:15:20 というような形式で入力されているセルA1があり、 そのセルA1を選択している状態でマクロを実行すると、 セルに入力されている日付と時刻を欧州の日付と時刻に変更する というマクロです。 セルA1の日付を例にすると、マクロを実行したら時差である9時間を減算して、 2011/06/11 22:15:20 という値が返ってくるようにしたいです。 DateAdd関数を使用して時刻を-9時間することはできたのですが、 時刻のみが-9時間されるだけで日付は変更できませんでした。 もしよろしければ、時間を減算しただけで日付も減算してくれるような マクロの組み方を教えていただけないでしょうか。

  • 日付、時刻の文字情報を日付、時刻データとしてセルに取り込む方法について

    日付、時刻の文字情報を日付、時刻データとしてセルに取り込む方法について エクセルのセル A1に 1999.08.31 B1に 22:15 というデータが文字情報として入力されています。 これを日付、時刻データとして、結合して、 C1に 1999/08/31/22:15 というようにデータを変換したいのですが、 なにか簡単な方法はありませんか。 私としては、C1セルをシリアルデータとして扱い、時刻の足し算、引き算をしたいのです。 このデータが膨大な量ですので、何か、関数を用いて、一度に処理できないのか思案しています。 以上よろしくお願いします。

  • double型の減算がうまくいかない

    Java初心者です。 今、Javaの勉強中で、double型の計算を行っています。 double型同士の減算を行った結果、思っていた結果と違う値が帰ってきたので、原因、もしくは解決方法をお教え頂ければと思います。 ソースは以下 public static void main(String[] args) { //値A double longitudeA = -73.98289; //値B double longitudeB = -73.98315; BigDecimal aDecimal = new BigDecimal(String.valueOf(longitudeA)); BigDecimal bDecimal = new BigDecimal(String.valueOf(longitudeB)); //減算 BigDecimal decimal = aDecimal.subtract(bDecimal); //小数点以下第5位で四捨五入し、出力 System.out.print(decimal.setScale(5, RoundingMode.HALF_UP).doubleValue()); } 出力される値として、 0.00026 を想定していたのですが、実際に出力されたのは 2.6E-4 でした。 BigDecimalのオブジェクトをそのまま出力すると想定通りの結果が出力されます。 一回Stringに型変換を行った後、Double#parseDoubleを行ったりしてみたのですが、 どうも思った通りの出力がされません。 解決策をお教え頂ければと思います。 よろしくお願いします。

  • C言語で大量の画像を処理する方法

    C言語で大量の画像を処理する方法について 今度C言語もしくはC++で大量の画像を処理することとなったのですが、 大量の画像に対して同じような処理をする場合なにかいい方法はないでしょうか? 具体的には 画像1を読み込む ↓ 画像1に処理を施し、その値を出力 ↓ 画像2を読み込む ↓ のような感じです。 ここでいう処理は画像の信号によって値は変わりますが、処理方法は同じです。 よろしければ参考になるサイト等も教えていただけると助かります。