I’m planing to control a TFT-LCD (240x320px) with a Nucleo U575 in parallel interface mode (intel8080).
To do so I think the PortInOut API is the way to go. Unfortunately I don’t really understand the API and it’s documentation. So there are a few questions which maybe one of you can answer
This will work, but its slow. A smarter solution is to use FMC (external Memory) interface. This device needs some setup for the configuration, then for the data transfer you just need to write to a RAM address. This can be combined with DMA and you’ll get pretty fast refresh rates.
A GUI library like lvgl works also very good with this.
Thanks for the hint. I already checked for the FMC connection. But it semms that mbed doesn’t support that natively, does it?
However if the advantage (refresh rate) is worth it I might be dive deeper into documentations and implement the sources provided by STM…
the FMC is very versatile and not very common for other vendors, so it is hard to create a generic OS driver.
But for a display, where you usually want to have a fast refresh, it makes sense to utilize special hardware devices.
Mbed uses the HAL for STM32, so it is easy to use HAL calls in your driver code. I can supply some example for lvgl drivers. I had recently worked on it, but had to pause again. Will send a link later.
Thanks for your help. @hudakz : unfortunately I wasn’t able to reproduce your code for my board (Nucleo U575ZI-Q). Even after hours of hardcoding variables and so on.
@JojoS : could you please share your work? I think I only need the setup of the FMC in Mbed. Once I can send data over the interface I will be able to implement all other stuff myself I think. But I’m currently overwhelmed by all HAL-drivers, the nested functions and files, … I’m just losing track
Hello, the porta in mbed should be MCU programming. Porta generally refers to Port A. generally, 8 pins are represented in the single chip microcomputer. Their 0 1 state is controlled and saved by the variable porta (temporarily, because it is generally a macro). Therefore, porta & = 0x04 means porta = porta & 0x04, which is to set all except the third pin to 0 low level, and the third pin remains unchanged.
By the way, one more thing, TFT display is really a very easy to use display!
Thanks for the explanation.
I had a look on the link to the TFT displays you provided - I already ordered myself some screens and none of the stone-displays is fitting my needs (2.8" max and sunlight readable/transflective + minimal additional components/pcbs needed as it’s for a mobile application)