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
  • design様

    対応するビットをON-1s-OFFというのであり
    defineで定義するのであれば
    何も考えず適当な形ですが

    #define OUTPUT1 0x01
    #define OUTPUT2 0x02
    ~略~
    #define OUTPUT8 0x80

    void pulseOutput(int port)
    {
    P0 = 0x80;

    delay 1s

    P0 = 0x00;
    }

    のように、ポートの出力ビットを
    指定でもいいのではないでしょうか?

Reply
  • design様

    対応するビットをON-1s-OFFというのであり
    defineで定義するのであれば
    何も考えず適当な形ですが

    #define OUTPUT1 0x01
    #define OUTPUT2 0x02
    ~略~
    #define OUTPUT8 0x80

    void pulseOutput(int port)
    {
    P0 = 0x80;

    delay 1s

    P0 = 0x00;
    }

    のように、ポートの出力ビットを
    指定でもいいのではないでしょうか?

Children