Top Page [◀◀]  2   3   4   5   6   7   8   9   ... [▶▶Last Page

シリアル通信について

現在rx65nを使用してadコンバータとi2c通信を行いデータの受信を行うことができました。

そのデータをシリアル通信でpcのcsvに出力するためスマートコンフィグレータを使用しようと思っているのですが

R__Serial_Send

で送ったデータは接続しているpcに送られるということでしょうか?

またその確認方法はpc側のプログラミングが別で必要なのでしょうか?

よろしくお願いします。

  • In reply to kijo:

    自分も sprintf は使いませんね。
    また、除算もあまり使いたくない(古い弱い除算器のないマイコンを使っていた時代からのクセで)ので、右シフト(12,8,4ビット)と AND (0x0F と)を使います。16進数専用にはなりますが、10進数への変換は通信相手のPCでさせればよいと割り切っています。
  • In reply to 吉光屋:

    MCUがRX65Nなので、ケチケチせずにsprintfや除算をガンガン使っても全然問題ないと思います。

    スレ主さんの技量を推し量ると、標準入出力(STDIO)の低水準関数charput(1文字出力)を実装するのが一番早いと思います。printfで数値の文字変換もできて、シリアル出力までできるようになります。

    スマートコンフィグレータを使っている場合、BSP(Board Support Package)で低水準関数を制御するようになっています。

    参照: RX ファミリ ボードサポートパッケージモジュール Firmware Integration Technology
    文書番号: R01AN1685JJ0552
    「2.7 STDIO とデバッグコンソール」

    簡単に解説すると、スマートコンフィグレータのコンポーネントのところで
    Enable user stdio charput function: User user charput() function
    としてビルドすると、
    (E) E0562310 E0562310:Undefined external symbol "_my_sw_charput_function" referenced in ...
    とリンクエラーになります。
    その後で、
    void my_sw_charput_function(char c)
    {
    // cをシリアル送信
    }
    を自身のソースに作成するだけです。

    スレッドが長くなってきたので、そろそろ別スレッドにして欲しいですね。
  • In reply to Higetaka:

    Higetaka さん 軌道修正ありがとうございます。
    kijo さんの「フォーラム参加の方々がどのような手法を使われているのか興味があります」とのつぶやきに、ついつい反応して、脱線してしまいました。

    Higetaka さんが仰られているとおり、RX65N のスペックなら sprintf 使用が正論ですね。

    sprintf (tx_char, "%5d\n", v); して、6文字送信でいけると思います。
    ※ただし、v は i2c 経由で取得したセンサーデータ(uint16_t 型)。
  • In reply to kijo:

    NoMaYさん,kijoさん,回答ありがとうございます。

    返信が遅くなり申し訳ございません。
    sprintfを使用してセンサの値も送れるようにありがとうございました。
    ありがとうございます。
  • In reply to 吉光屋:

    吉光屋さん,Higetakaさん,回答ありがとうございました。

    おっしゃる通りsprintfで送れるようになりました。
    ありがとうございました。

Top Page [◀◀]  2   3   4   5   6   7   8   9   ... [▶▶Last Page