1 Reply Latest reply on Nov 30, 2018 1:04 PM by user_1377889

    Establishing Communication between CY8kit-059 and TI CC1350

    rafay.ali_3842286

      Hello,

      I am trying to establish between the cypress board and the TI toolkit. I am fairly new to the I2C communication. Could the community please direct me to the appropriate tutorials?

        • 1. Re: Establishing Communication between CY8kit-059 and TI CC1350
          user_1377889

          Byte I2C interface is quite simple: After setting up the component and starting it you use

           

              I2C_MasterSendStart(DeviceAddress,I2C_WRITE_XFER_MODE);    // Initialize a transaction for writing

              I2C_MasterWriteByte(Register);                // Indicate which register you want to write to

              I2C_MasterWriteByte(Value);                // Write to register

              I2C_MasterSendStop();                    // End of transaction

           

          When you want to read from a device you use (example for reading two bytes

           

              I2C_MasterSendStart(DeviceAddress,I2C_WRITE_XFER_MODE);    // Initialize a transaction for writing

              I2C_MasterWrite(Register);                // Indicate which register you want to write to

              I2C_MasterSendRestart(DeviceAddress,I2C_READ_XFER_MODE);

              I2C_MasterReadByte(I2C_ACK_DATA);            // Read from register

              I2C_MasterReadByte(I2C_NAK_DATA);            // Read from register, last byte is NAKed

              I2C_MasterSendStop();                    // End of transaction

           

          Not too difficult. Keep in mind that most of the APIs (except those for reading a byte) return a status byte which, when non-zero indicate an error condition.

           

          The high-level APIs must be used in this way:

           

          Writing to slave Count bytes

          I2C_MasterWriteBuf(SlaveAddress,DataPtr,Count,I2C_MODE_COMPLETE_XFER);

           

          Reading from Slave sending register/command byte first:

          I2C_MasterWriteBuf(SlaveAddress,&RegAddress,1,I2C_MODE_NO_STOP);

          I2C_MasterReadBuf(SlaveAddress,DataPtr,Count,I2C_MODE_REPEAT_START);

           

           

          Bob