Jump to content
TimAs

uGFX(ILI9488) + stm32f103 + 8080(8 bits bus)

Recommended Posts

Hello! Nice to see all!

I apologize in advance if the question will seem to someone very simple, but still I want to ask: how can I connect ili9488 on an 8-bit bus to stm32f103rc using uGFX

I tried to find some example and do something like this. At the moment, I installed uGFX, configured it for ILI9488, found such an example

https://github.com/logical/ili9488-stm32f103

, took the pins out of it, and rewrote my pins, but I see how the screen is painted in a dark striped color, and the functions from the uGFX library do not work. Help me please. Maybe someone knows how to do it right?

IMG_20190722_222635.jpg

Share this post


Link to post
Share on other sites

Most likely problem is that the pins are not correct or they have not been initialized correctly. Best way to test this is to use a scope and check you are getting waveforms you expect.

2nd most likely problem is that there is something wrong in your controller initialisation. Often chips that as marked with a part number are not actually that part number particularly from Chinese sources. It is often good to check the chip markings match what you were told it was. Sometimes the documentation is wrong.

Good luck.

Share this post


Link to post
Share on other sites
Guest 123

Thank you for your reply. I do not know how, but I tried use the 2.8 version and my friend found the mistake in sending process at 8 bit mode in library for ili9488, so now it's working. Also we found, that rotation of 0 degree do not resize the frame (stay to show that rotated frame,  but not the size of displaying,  and it cats half of  picture).

If somebody have same problem, I used to take this project at first:
https://github.com/logical/ili9488-stm32f103

build uGFX for STM32cubeIDE with this instruction:
https://wiki.ugfx.io/index.php/Using_Eclipse

and changed function for reading:
uint16_t ILI9488ReadData(void) {
  uint16_t data;
  BUS_input();
  HAL_GPIO_WritePin(GPIOB, GPIO_DC,GPIO_PIN_SET);
  HAL_GPIO_WritePin(GPIOB,GPIO_WR,GPIO_PIN_SET);


  HAL_GPIO_WritePin(GPIOB, GPIO_RD,GPIO_PIN_RESET);
  data=READ_LCD;
  HAL_GPIO_WritePin(GPIOB, GPIO_RD,GPIO_PIN_SET);
  BUS_output();
  return data;
}

part:
  HAL_GPIO_WritePin(GPIOB, GPIO_RD,GPIO_PIN_RESET);
  data=READ_LCD;
  HAL_GPIO_WritePin(GPIOB, GPIO_RD,GPIO_PIN_SET);

to
  HAL_GPIO_WritePin(GPIOB, GPIO_RD,GPIO_PIN_RESET);
  HAL_GPIO_WritePin(GPIOB, GPIO_RD,GPIO_PIN_SET);
  data=READ_LCD;


May be my comments will be more useful for someone else

Share this post


Link to post
Share on other sites
Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...