PIC16F1503 のI2C通信

今回PICでデータ受信はしないので、データ送信のみできればよい。
やり方だけ書く。

1.準備


・SCL,SDAピンは入力モードに指定する
・SSPCON1のSSPMビットをセットする→マスタモードにするため

2.1バイト送信

1)~3)の手順でOK。


1) Start Conditionの送信
void i2cStart(void){
SEN = 1;
while(SEN);
}

2) 1byteデータ送信
void i2cTxData(char data){
SSP1IF = 0; // 終了フラグクリア
SSPBUF = data;
while(!SSP1IF); // 送信終了まで待つ
}

3)Stop Conditionの送信
void i2cStop(void){ //i2c STOP
SSP1IF = 0; // 終了フラグクリア
PEN = 1;
while(PEN);