Part Number: TMS320F28388D
Other Parts Discussed in Thread: SYSCONFIG, C2000WARE
Tool/software:
TMS320F28388D: Problems with I2C, missing data byte during transfer I2C.
Hello, I am trying to establish communication between the DSP and a NewHaven display: NHD-C0216CiZ-FSW-FBW-3V3. I have conducted several tests to facilitate communication between the DSP and the display, but it seems to be failing. During the setup of various commands sent to the display, some bytes are lost in the communication (i.e., they are not transmitted). I will now share the configuration I have in SysConfig, the code I've written, and the signals observed on the oscilloscope
.
The dedicated pins for SDA and SCL are GPIO 66 and GPIO 69, respectively.
This is the function I am using to send commands to the display. As you can see, I am utilizing the FIFO to send two bytes, which are the commandByte and the command, respectively.

This is the display initialization function. On the oscilloscope, I should see two bytes being sent for each command. However, what I am actually seeing is this:

Let's take a look at the oscilloscope figures.




The first byte is the address 0x3E, but then the first command, which is 0x00 and 0x38, is lost. Instead, it sends the next one, which is 0x00 and 0x39, followed by 0x00 and 0x14, and so on until it reaches the last command, 0x00 and 0x06. After that, it seems to resend the address.
I am unable to understand this behavior. Could you help me? It seems that some bytes are being lost, and on the last command, I don't understand why it sends the address again.