cancel
Showing results for 
Search instead for 
Did you mean: 

D0-D3 lines always high on STM32F412RE

michal.moskal
Associate

I'm trying to connect a ILI9341 based parallel LCD to STM32F412RE. I have successfully connected that to the STM32F412ZG in the past, but that was using the pins in the H/G ports not available in the 64 pin package. When configured for pins on the 64 pin package, the lines in GPIOA (D4-D7) behave as expected, and so does the NWE line (on PC2). The D0-D3 (in GPIOC and GPIOD) go high when FSMC is enabled, but stay high forever. When sampled as analog they sometimes wiggle a bit down to 2.5V every now and then but never actually go low.

This is without any screen actually connected, with just a logic analyzer (traces attached).

The initialization code is here: https://github.com/lancaster-university/codal-stm32/blob/master/src/FSMCIO.cpp#L28

For context, I'm porting MakeCode Arcade from SPI-based 160x128 screen to the parallel 320x240, see https://arcade.makecode.com/hardware/adding

I get the same results (D0-D3 dead) on both STM32F412RE and STM32F412ZG.

Any hints would be appreciated!

2 REPLIES 2
michal.moskal
Associate

It seems some pins need AF10 and some pins need AF12 in the 64 bit config. For reference, fix is here: https://github.com/lancaster-university/codal-stm32/commit/e6ab968ee7ef2d3e4c61142bbf27ec64927d947e

KBENE.1
Associate

Hello,

Do you suceed in porting MakeCode Arcade from SPI-based 160x128 screen to the parallel 320x240 on a STM32 devices?

I am also interested (i just discover the STM32 Ecosystem).

I am beginning with STM32F103xxx board for learning curve purpose, but as you i am clearly interested in using a STM32F429 for instance using a 320x240 LCD screeen.

Regards.

Kamel.