| void IO_write(unsigned char add,unsigned char data) | ・・・引数はアドレス、データ |
| { | |
| unsigned char idt; | |
| start(); | ・・・I2Cスタートコンディション |
| do{ | |
| idt=I2C_write(add) | ・・・PC8574のスレーブアドレスを送る |
| }while(idt!=0); | ・・・ACK信号を待つ |
| I2C_write(data); | ・・・出力データを送る |
| stop(); | ・・・I2Cストップコンディション |
| } |
| unsigned char IO_read(unsigned char add) | ・・・引数はアドレス |
| { | |
| unsigned char idt,a; | |
| start(); | ・・・I2Cスタートコンディション |
| do{ | |
| idt=I2C_write(add) | ・・・PC8574のスレーブアドレスを送る |
| }while(idt!=0); | ・・・ACK信号を待つ |
| add |=0x01; | ・・・読み込み時のスレーブアドレス0x41 |
| start(); | ・・・I2Cスタートコンディション |
| I2C_write(add) | ・・・読み込み時のスレーブアドレスを送る |
| a=I2C_read() | ・・・IOより読み込む |
| stop(); | ・・・I2Cストップコンディション |
| return a; | ・・・読み込んだ値を返す |
| } |