2016-01-11 08:39 AM
My display has bidirectional or databus pins. It has also LCD_WR and LCD_RS pins to tell how it should work.
Is there an IO port or pins which could directly drive those. I know it is possible to change direction of IO port but it requires writing to the control register, is there anything more automatic?2016-01-11 09:12 AM
That would be the FSMC
The register select usually being an Address bit on the bus, so it would be high/low depending on what range of memory that is being addressed, read, written, etc.If the FSMC isn't suitable your only real alternative is to bit bang the bus via ODR, BSRR, etc. and turn the drivers in/out bound.Complex patterns can be driven at speed out of GPIO pins using DMA+TIM to BSRR2016-01-11 10:21 AM
I looked at the FSMC option at the CUBE tools once and it did not look very user friendly (or even functional).
I'll probably back in few days asking silly questions about the DMA. It seems to be quite flexible. Is it really possible to copy bytes/words to IO port and then pulse some other pin for write signal? Edit: With DMA ofcourse.2016-01-11 12:40 PM
Writing patterns to BSRR you can generate data and pulse on the same GPIO bank. But you have to create the more complicated set/clear sequences, so writing a byte would involve at least 3 steps, of writing the data, and then pulsing a signal low and high.