/* io.c H83664用のIO関係の関数を集めたもの */ #include "z:\work\yh8-\tomolib3664\3664f.h" /*I/Oアクセス用インクルード*/ char iniIo(char port, unsigned char bitno, unsigned char io); /* 機能  指定port、bitno番目の端子のioの入出力を指定する。 引数1 port=1文字'1'等で指定。     指定できる文字は 1,5,7,8 のみ。 引数2 bitno=0〜7を指定。ただし、ない番号もあるので注意。ない番号を指定してもERRにならない。 引数3 io:1=出力0=入力に指定する。 返り値0=正常-1=異常 Port1 0-2,4-7bitが使用可能。3bitは読み込むと常に1 Port2 0-2 まであるが、SCI通信用に使うので使用しない Port5 0-7 使用可能。但しBit6-7はI2C通信が優先して使用するので注意。 Port7 4-6 使用可能。 Port8 0-7 大電流IOPort。 PortB 0-7 入力Port。AD入力と兼用。AD入力の設定がされていない場合使用できる。 最初からIPortなので、IO指定はない。 */ char setIo(char port, unsigned char bitno, unsigned char lh); /* 機能  指定port、bitno番目の端子のl/hを指定する。y_iniio()で出力に指定してから用いる。 引数1 port=1文字'1'等で指定。     指定できる文字は 1,5,7,8 のみ。 引数2 bitno=0〜7 セットするBit番号。Portによってないものもあるので注意。 引数3 lh: 1=H  0=L に設定する。0,1以外を指定してもerr処理を行わない。 返値  0=正常 -1=異常 */ char getIo(char port, unsigned char bitno); /* 機能  指定port、bitno番目の端子のl/hを取得する。y_iniio()で入力に指定してから用いる。 引数1 port=1文字'1'等で指定。     指定できる文字は 1,5,7,8,B のみ。 引数2 bitno=0〜7 入手するBit番号。Portによってないものもあるので注意。 返値  1=H 0=L -1=異常 */ /*指定port、bitno番目の端子のl/hを取得する。iniIo()で入力に指定してから用いる。*/ char getIo(char port, unsigned char bitno) { unsigned char tmp; switch(port){ case '1' : tmp = PDR1; tmp= tmp&(1<0){ tmp=1; }; return tmp ;break; case '5' : tmp = PDR5; tmp= tmp&(1<0){ tmp=1; }; return tmp ;break; case '7' : tmp = PDR7; tmp= tmp&(1<0){ tmp=1; }; return tmp ;break; case '8' : tmp = PDR8; tmp= tmp&(1<0){ tmp=1; }; return tmp ;break; case 'B' : tmp = PDRB; tmp= tmp&(1<0){ tmp=1; }; return tmp ;break; default:return -1;break; }/*switch*/ }/*getio()*/ /*機能  指定port、bitno番目の端子のl/hを指定する。iniIo()で出力に指定してから用いる。*/ char setIo(char port, unsigned char bitno, unsigned char lh) { unsigned char tmp; switch( port ){ case '1' : if( lh==1 ){tmp = PDR1 ; tmp= tmp| (1<