RL78,ポート操作,関数の引数にポート番号を指定する方法

Former Member
Former Member

RL78/G13,CS+ for CA,CXを使用しています。

1秒のパルス出力を行いたくポート(P0.0等)を引数に関数を作りたいのですが、引数の型はどのようにすれば可能でしょうか。

ポートの数が多いのでポートを引数にとる関数化したいです。

ポートはuserdifine.h等で

#define OUTPUT1 (P0.0)

のようにdefineして。

static void pulseOutput(int port)
{
 port = 1;

 //1秒待機
 port = 0;
}

上記関数を

pulseOutput(OUTPUT1);

というように関数をコールしたいです。

調べたつもりですが、既に回答が出ていれば申し訳ありません。あればそちらのpostのURLをいただけると幸いです。

Parents
  • わわいです
    まー、まずおもいつくのは、そのポートをON/OFFする関数を、ポートの数だけ用意しておいて、portの数値によりON/OFF関数を切り替えていく、ってかんじでしょうか?

    具体的になにをどうしたい、ということを説明してくれれば、他になにかいい方法があるかもしれませんが。
  • Former Member
    Former Member in reply to わわい
    回答ありがとうございます。
    やりたい内容はarduinoのdigitalWrite関数と同じです。
    あちらは引数が(port番号,レベル)となっています。
    RL78の場合、PX.Yという形でポート操作できるのでそれをそのまま引数に出来れば楽かと思い質問させていただきました。
    出力ポートと同じ数だけdefineを行ってswitch文で分岐して中でポートに代入してみようかと思います。
Reply
  • Former Member
    Former Member in reply to わわい
    回答ありがとうございます。
    やりたい内容はarduinoのdigitalWrite関数と同じです。
    あちらは引数が(port番号,レベル)となっています。
    RL78の場合、PX.Yという形でポート操作できるのでそれをそのまま引数に出来れば楽かと思い質問させていただきました。
    出力ポートと同じ数だけdefineを行ってswitch文で分岐して中でポートに代入してみようかと思います。
Children
No Data