FIT R_SCI_RXモジュールでprintfをfrom inside interrupt routine内から行えるかどうか考えてみるスレッド

こんにちは。NoMaYです。

最近、以下のスレッドに関わったのですが、そういえばFITのR_SCI_RXモジュールでは送信リングバッファを使えますので、仕組み上は、割り込みルーチン内からでもprintfを使うことが出来ても良さそうな気がします。ということで、いつものように、ちょっと好奇心からスレッドを立ててみました。いつものように、ぼちぼちと続きます。

Config_ICUでのIRQの設定について
community-ja.renesas.com/cafe_rene/forums-groups/beginners/f/002-2095199602/9604/config_icu-irq

本当は、割り込みルーチン内からデバッグコンソールへ出力する方法を考えたいところですけれども、以下の理由で今回は保留です。

(1) 割り込み駆動方式でデバッグコンソールへ文字書き込みする方法が無い(少なくとも公開されている情報では出来ない)
(2) ポーリング方式でデバッグコンソールへ文字書き込みする方法では割り込みルーチン内で使うには性能上の懸念がある

[追記]

こんなことを考えたのも、以前に別スレッドにURLを書いた個人事業主?さんが、こういう記事を執筆されていましたのを、たまたま見掛けたからかも知れません。

RAファミリprintfデバッグ3方法
2022年10月7日 WithHappy
happytech.jp/wordpress/2022/10/07/ra-family-printf-debug-3-method/
 

Parents
  • > 割り込みルーチン内からデバッグコンソールへ出力する方法を考えたいところですけれども、

    FreeRTOSを使っているなら、以下の手法で楽チンにやれるかも。

    (1) 出力したい情報を格納する配列を用意しておく(文字列だと無駄なので数値データの構造体の配列とか)
    (2) 割り込みルーチン内で(1)の配列に情報を書き込む
    (3) タイマタスクで(1)に書き込まれた情報を文字列化してデバッグコンソールに出力する

    [追記]

    そういえば、うろ覚えですけれども、タイマタスク自体は出来るだけ短時間で終わらせるようにして、時間が掛かる部分は、タイマタスクからタスクもどきを起動出来るようになっているので、そちらで処理するように、とか有ったような無かったような、、、、(もちろん通常のタスクを起動しても構わないけれども、、、)

Reply
  • > 割り込みルーチン内からデバッグコンソールへ出力する方法を考えたいところですけれども、

    FreeRTOSを使っているなら、以下の手法で楽チンにやれるかも。

    (1) 出力したい情報を格納する配列を用意しておく(文字列だと無駄なので数値データの構造体の配列とか)
    (2) 割り込みルーチン内で(1)の配列に情報を書き込む
    (3) タイマタスクで(1)に書き込まれた情報を文字列化してデバッグコンソールに出力する

    [追記]

    そういえば、うろ覚えですけれども、タイマタスク自体は出来るだけ短時間で終わらせるようにして、時間が掛かる部分は、タイマタスクからタスクもどきを起動出来るようになっているので、そちらで処理するように、とか有ったような無かったような、、、、(もちろん通常のタスクを起動しても構わないけれども、、、)

Children
No Data