Merhaba,
ILI9488 FPC konnektörlü bir kart yaptım. Kart üzerinde bulunan SPI hattından 3 tane aygıt mevcut. SD/TFT/Touch
İlk etapda bir problem olduğunu görünce SD kartı lehimlerinden söktüm. Ardından TFT yi de sökerek Touch ile iletişim kurdum ve dokunmatiği algılayabildim.
Fakat TFT de bir sorun var. TFT yi taktığım anda MISO hattı 0 oluyor ve hiç bir aygıt ile iletişim kuramıyorum. ILI94888 MISO çıkışı Tri state değilmiş. Bu sebeple bir buffer istiyor.
Sorun şurada olacak ki her şeyi söküp sadece TFT yi bağladığımda yine iletişim kuramıyorum. Hat yine 0 da kalıyor. İlgili bağlantılarımı ve ekleri aşağıda bırakıyorum.
Mod Seçimim
IM0 = 1
IM1 = 1
IM2 = 1
ILI9488 FPC konnektörlü bir kart yaptım. Kart üzerinde bulunan SPI hattından 3 tane aygıt mevcut. SD/TFT/Touch
İlk etapda bir problem olduğunu görünce SD kartı lehimlerinden söktüm. Ardından TFT yi de sökerek Touch ile iletişim kurdum ve dokunmatiği algılayabildim.
Fakat TFT de bir sorun var. TFT yi taktığım anda MISO hattı 0 oluyor ve hiç bir aygıt ile iletişim kuramıyorum. ILI94888 MISO çıkışı Tri state değilmiş. Bu sebeple bir buffer istiyor.
Sorun şurada olacak ki her şeyi söküp sadece TFT yi bağladığımda yine iletişim kuramıyorum. Hat yine 0 da kalıyor. İlgili bağlantılarımı ve ekleri aşağıda bırakıyorum.
Mod Seçimim
IM0 = 1
IM1 = 1
IM2 = 1
C:
static void ILI9488_SendCommand(uint8_t cmd)
{
GPIO_CLEAR_PIN(TFT_DC_GPIO, TFT_DC_PIN);
USPI_CS_Low(TFT_CS_GPIO, TFT_CS_PIN);
USPI_Write_Byte(TFT_SPIx, cmd);
USPI_CS_High(TFT_CS_GPIO, TFT_CS_PIN);
}
static void ILI9488_ReadData(uint8_t *data, uint16_t len)
{
GPIO_SET_PIN(TFT_DC_GPIO, TFT_DC_PIN);
USPI_CS_Low(TFT_CS_GPIO, TFT_CS_PIN);
USPI_Read_Multi(TFT_SPIx, data, len);
USPI_CS_High(TFT_CS_GPIO, TFT_CS_PIN);
}
static void ILI9488_Reset(void)
{
GPIO_CLEAR_PIN(TFT_RESET_GPIO, TFT_RESET_PIN);
Delay_ms(10);
GPIO_SET_PIN(TFT_RESET_GPIO, TFT_RESET_PIN);
Delay_ms(120);
}
void TFT_ReadID(uint8_t* id)
{
ILI9488_Reset();
ILI9488_SendCommand(ILI9488_CMD_READ_ID);
ILI9488_ReadData(id, 3);
}