2018-05-04 05:50 AM
When using Analog or Digital In/Out on any of the available pins on the board, the LCD screen shows corruption and artifacts. In addition, there is unusually high noise when reading Digital or Analog level from any pin (e.g. 1's instead of 0's, 0.99's instead of ~0).
An example screenshot of this behavior is shown below. The screen is supposed to read two lines: KP_TEST, followed by a hex number of bitmask with the pressed buttons. There's 16 buttons and only one button is pressed in the example so we should only see 7 zeros and one 1, 2, 4, or 8, but I'm seeing some F's.
I apologize if this matches an existing post.
Thanks everyone for your help.
I can post test code if needed.
2018-05-04 07:49 AM
I used to use this board a lot and it worked fine.
I would start from replacing the power supply - if USB powered try another computer and cable.
2018-05-04 07:50 AM
Sure your pin utilization is not conflicting with the LCD/SDRAM usage? Check your pin use against the board User Manual.
The STM32F429I-DISCO has got to be one of the worst boards for extending functionality externally.
2018-05-04 09:53 AM
>>I can post test code if needed.
A list of the pins involved might be instructive.
2018-05-04 11:57 AM
>on any of the available pins on the board
I was assuming tat you tested almost ALL pins. Is it true? That's why I assumed that used pins do not conflict with the LCD pins...
2018-05-04 12:15 PM
Turvey.Clive.002
Golab.Bogdan
I've used pins that are marked on the pinout diagram as no-conflict and not used by other subsystems. Here are the sets of pins I've tried to connect the matrix keypad:
PF_12, PF_14, PG_0, PG_3, PB_2, PF_13, PF_15, PG_1 (in User Manual UM1670 Section 6.14 it appears that these pins are also used in the SDRAM functions)
PC_14, PC_15, PG_7, PG_6, PF_12, PF_14, PF_13, PG_0
When no Analog or Digital In/Out is used on any board pins, the behavior does not appear and the device functions normally.
Get the feeling that I'm missing something very obvious but so far still confused.
Will also try a different power supply, Bogdan Golab.
UPDATE:
Solved the problem. Had to consult 6.14 in the User Manual to find pins that aren't used by any other functions. These pins work:
PE_2, PE_3, PE_4, PE_5, PF_6, PG_2, PG_3, PG_9
2018-05-05 12:46 PM
The latest CubeMX can pre-initialize Discovery and Nucleo boards. So you can easily see what pins are used / free: