こんにちは、安井です。 > P6DDR |= 0x01; //出力モードでLow PXDDRは読み出し専用なので、|= は出来ませんので、 PbddrにPBDDRの値を保存しておき、その値を |= して から、PBDDRに書き込みます。 SDAを設定する Pbddr &= ~IIC_SCL; // SCL:H (INPUT) PBDDR = Pbddr; // PBDDR設定 Pbddr |= IIC_SCL; // SCL:OUTPUT PBDDR = Pbddr; // PBDDR設定 こんな感じでしょうか。