Skip to main content
LMI2
Senior III
January 11, 2016
Question

Bidirectional pins/databus?

  • January 11, 2016
  • 3 replies
  • 803 views
Posted on January 11, 2016 at 17:39

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?

    This topic has been closed for replies.

    3 replies

    Tesla DeLorean
    Guru
    January 11, 2016
    Posted on January 11, 2016 at 18:12

    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 BSRR

    Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..
    LMI2
    LMI2Author
    Senior III
    January 11, 2016
    Posted on January 11, 2016 at 19:21

    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.

    Tesla DeLorean
    Guru
    January 11, 2016
    Posted on January 11, 2016 at 21:40

    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.

    Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..