Other Parts Discussed in Thread: SYSCONFIG, C2000WARE
Hello,
I want to use the I2C module on 379D.
I considered the i2c_ex1_loopback example, but could not download it directly (problem of compilation when changing the package and sekecting the appropriate pins for SDA and SCL).
I recreated the loopback with SysConfig
- Transmitter mode
- 8 bits per data byte
- Data count = 2 (repeat mode OFF by default)
- Target Adress = 0x2
- Own Adress = 0x01
- Loopbackmode = ON
- FIFO mode
- Open drain with pull up
On a timer overflow, I send a put data in the buffer, send a start condition then prepare data for the next time
I read the received data in the FIFO interrupt:
I never send a Stop Condition because this has to be automatically generated in the non repeat mode after 2 transmitted bytes
I was surprised because after the first two transmitted bytes, the SCL never goes back to the High level (orange curve down below)
When connecting a digital analyzer, I actually never see any Stop Condition:
When desactivating the Loopback, and asking to the analyzer to be a slave (0x02), this slave cannot ACKnowledge the Master message:
It seems to be a problem with pull up resistors:
Can somebody help me ?
Thank you