コード例 #1
0
ファイル: SS1306.c プロジェクト: papinusret/OLED_SSD1306
void SendChar(unsigned char data) {

    IdleI2C();
    StartI2C();
    IdleI2C();
    putcI2C(OLED_address); //send address
    IdleI2C();
    putcI2C(0x40); //send data incomming
    IdleI2C();
    putcI2C(data);
    IdleI2C();
   // WriteI2C(0x40);
    //WriteI2C(data);
    StopI2C();

}
コード例 #2
0
ファイル: SS1306.c プロジェクト: papinusret/OLED_SSD1306
void sendcommand(unsigned char com) {

IdleI2C();
   StartI2C();
   IdleI2C();
   putcI2C(OLED_address); //send address
   IdleI2C();
   putcI2C(0x80); //send data incomming
    IdleI2C();
    putcI2C(com);
    IdleI2C();
    //WriteI2C(0x80);
    //WriteI2C(com);
    StopI2C();





}
コード例 #3
0
ファイル: i2c_puts.c プロジェクト: martinpg/bms
signed char putsI2C( unsigned char *wrptr )
{
	  unsigned char temp;
  while ( *wrptr )                // transmit data until null character 
  {
    if ( (SSPCON&0x0F)==0x0B )      // if Master I2C in firmware,then execute the following
    {
	  temp = putcI2C ( *wrptr );
	  if (temp ) return ( temp );            // return with write collision error
    
//      if ( putcI2C ( *wrptr ) )   // write 1 byte
//      {
//        return ( -3 );            // return with write collision error
//      }
//      IdleI2C();                  // test for idle condition
//      if ( SSPCON2bits.ACKSTAT )  // test received ack bit state
//      {
//        return ( -2 );            // bus device responded with  NOT ACK
//      }                           // terminate putsI2C() function
    }

    else                          // else Slave transmitter
    {
      PIR1bits.SSPIF = 0;         // reset SSPIF bit
      SSPBUF = *wrptr;            // load SSPBUF with new data
      SSPCONbits.CKP = 1;        // release clock line 
      while ( !PIR1bits.SSPIF );  // wait until ninth clock pulse received

      if ( ( SSPCONbits.CKP ) && ( !SSPSTATbits.BF ) )// if R/W=0 and BF=0, NOT ACK was received
      {
        return ( -2 );            // terminate PutsI2C() function
      }
    }

  wrptr ++;                       // increment pointer

  }                               // continue data writes until null character

  return ( 0 );
}