STM32H750 FMC + LCD
- June 16, 2023
- 3 replies
- 6162 views
I’m having some trouble related to using the FMC to interface with a LCD.
We are using NE1 as chip select, LCD register select is A0, 16 bits of data. When I’m scoping the signals, I’m seeing the A0 go high during 16 bit writes to 0x60000000 (command). I only expect that to happen when trying to read/write at 0x60000002 (data). I’ve attached a capture of this. For the second byte, A0 is a 1, which makes sense for a normal memory address, but I was expecting A0 to be treated differently by the FMC since it is identified as the register select?
I’ve seen other code examples where the RS used is a higher bit (ex. A18), which wouldn’t have this same problem…so I’m concerned that it isn’t possible to use A0 as the RS?
This also ties into configuring the MPU correctly. I've read up on the issues other people have had with multiple writes because of the FMC memory is configured as "normal" instead of "device" type. But setting it as "device" type requires the addresses to be 32 bit aligned, which also doesn't work for 0x60000002. So I might be double screwed using A0?