phil99
Guru
Joined: 11/02/2018 Location: AustraliaPosts: 2246 |
Posted: 09:46pm 28 Nov 2022 |
|
|
|
Ok that proves the touch chip has not been damaged, it was just interference from LCD_SDO preventing touch working. Blit, Pixel() and Save Image cannot work while LCD_SDO is disconnected. That is the pin that sends data from the screen to the Pico. The problem is three outputs (LCD_SDO, T_DO & SD_DO) must share one input (MISO). For that to work only one can be active at a time, and the faulty LCD_SDO is always active. The reason for the 680R or transistor or diode circuits is to provide enough isolation from LCD_SDO to allow touch and SD to work but still allow LCD_SDO to access MISO.
Perhaps the fault on your panel is different. Measure the voltage between LCD_SDO and Gnd. (with nothing else connected to that pin) and let me know what it is. Mine is close to 0V.
How the diode switching is supposed to work:- With LCD_SDO low and LCD_CS high the diode is reverse biased, isolating LCD_SDO from MISO so touch or SD should be able to send data to MISO. When the Pico wants data from the screen the Pico pulls LCD_CS low (the other two CS pins are high keeping Touch and SD off). This allows the diode to be forward biased so LCD_SDO can send data to MISO.
When screen data sends LCD_SDO high (and LCD_CS is low) it goes through the diode to MISO. When screen data sends LCD_SDO low (and LCD_CS is low) the resistor pulls MISO low. . Edited 2022-11-29 17:33 by phil99 |