NOEMBLEM/エンブレムが設定されていません。

メールの詳細(トピック表示)

Re: 分岐処理

投稿者:"chero_0723…さん  2004/03/08 22:16  MLNo.436   [メール表示]

藤原さん、有難うございます。

説明不足で申し訳ありません。
dataという変数はLCDに表示させたいだけなんですが、そのLCD
がちょっと
特殊でして、1を表示するにはset_display1という関数を、2を
表示するには
set_display2という関数を呼ばなければならないのです。関数
の中では個々の
数字を表示させる為の膨大な配列データをLCDに送ってるだけ
ですが・・。
根本的にもっとうまい方法があるのかもしれません(^^;

とりあえず、藤原さんに教えていただいた方法で作ってみます

有難うございました。


このエントリーをはてなブックマークに追加


  • MLNo.437   FUJIHARA Keiichiさん  (0) 2004/03/08 22:28  [メール表示する]
    藤原です。
    そういう LCD (のライブラリ)は使わない……とも行かないでしょう
    から、やはり、sprintf を使って(これだと、いろいろな整形も簡単で
    すから、文字列に変換したあとで、関数を呼べばよいですね。

    This message is reply to chero_0723@… - san
    (Subject was : [beginers:0436] Re: 分岐処理)

    Message-ID: <20040308131634.66940.qmail@…>
    in Mon, 8 Mar 2004 22:16:34 +0900 (JST) ...


    例)

    double data;
    int i;

    char buff[32]; /* 最大の文字数に必要なくらいのかず */

    sprintf(buff, "%.3f", data);
    for(i = 0; buff[i]; i++)
    switch(buff[i])
    {
    case '+' : ...; break;
    case '-' : ...; break;
    case '0' : ...; break;
    ...
    case '9' : ...; break;
    }

    こんな感じで。
    あと、実際には、LCDPrintStr(char *buff);
    のような「文字列を表示する関数」を作って、表示したところでは、
    すべてこの関数を呼ぶような形にするのがよいです。

    そうすれば、他のものを表示したくなったときに、また、同じこと
    をしなくてすみます。
    (というか、普通は、「文字列表示」とか、「1文字表示」とかの
    レベルの関数まで作っておきますよね>ライブラリの提供者)


    --
    _/ -- Last 3796 hours until ATHENS 2004 Olympic Games -----------------
    _/ FUJIHARA Keiichi
    _/ E-Mail : keiichi@… <or> nagi@…
    _/ URL : http://www.keiichi.fujihara.name/
    ----------------------------------------------+----- Luna Phase 16.46 --
    PGP FingerPrint = 7CC3 4F95 8CC7 87D3 7178 C348 CD65 7F08 D68F 69F6




メールへの返信はMLのメンバーしかできません。

更新順メールリスト