This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CCS/TMS320F28379D: TMS320F28379D

Part Number: TMS320F28379D
Other Parts Discussed in Thread: C2000WARE

Tool/software: Code Composer Studio

Hi, 

I am using this code for 16x2 display, as it has been previously used and executed on hardware by Tiago da Silva Alves Link: https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/738946?CCS-TMS320F28379D-I2c-communicate-with-a-LCD-display-PCF8574-    but I can't see anything on my LCD as shown in the picture. I don't know what to do next? your valuable suggestions will be appreciated! Thanks

  • Hi Adnan,

    What 16x2 display are you using (provide a part number if possible)? Can you double check your hardware connections? Should have PWR, GND, SDA, and SCL signals connected.

    When debugging your code if you pause the execution does it show to be stuck somewhere? Usually the best way to debug I2C interfaces are to probe the waveforms either with a oscilloscope, or better yet a logic analyzer. Debugging your code with breakpoints and checking the I2C device registers is also a good option to further debug the issue.

    Best,

    Kevin

  • Hi , thanks for your reply, I have checked all the connections using multimeter, they are properly connected. Secondly the LCD part number is PCF8574t, I have checked the LCD on arduino, and it is working perfectly. here is the link for lcd   link: https://www.daraz.pk/products/lcd-16x2-with-iic-i2c-lcd-module-for-162-and-164-lcd-for-diy-projects-arduino-and-microcontrollers-i3010006-s12170468.html. Thanks

  • Hi, Kevin! Would you please like to suggest me some sort of solution for the problem discussed above! Thanks

  • Hi Adnan,

    If the I2C device you're communicating with is PCF8574t then you should check the device's datasheet to make sure you're sending the proper I2C command words and match its protocol. You should verify the communication is working properly by probing the SDA/SCL signals and debugging your software by setting breakpoints or stepping through it.

    has provided software to start with. Import the i2c_eeprom example from C2000ware for the F2837x and swap the code in the main .c file with his software so that all the necessary includes are there.

    C:\ti\c2000\C2000Ware_2_00_00_03\device_support\f2837xd\examples\cpu1\i2c_eeprom

    Best,

    Kevin

  • Hi Kevin,

    I have done the exact thing you have said in the above comment. I have used even unchanged EEPROM example and then swapped the code with Tiago, but I can't see any signal on SCL or SDA. I am using digital oscilloscope to observe the signals. My primary problem is, with the given configuration, I am not been able to start my I2C communication. 


    Best, 

    Adnan

  • Hi Adnan,

    What is the state of the SDA/SCL signals? Are they HIGH at 3.3V or LOW? I2C is an active low protocol, so the signals need to be pulled up to 3.3V (i.e. master/slave device will pull lines low to communicate).

    Not sure if the LCD board you're using has pull-up resistors included or not, but that's something you can check if the signals are LOW. Additionally the C2000 device has internal pull-ups that should be disabled if external pull-up resistors are used.

    You'll need to both debug the hardware and software more on your side. Set breakpoints and single step through your code within CCS by pressing F5.

    Best,

    Kevin