cancel
Showing results for 
Search instead for 
Did you mean: 

No connection Nucleo-F429ZI though FT232R by UART

DmitriiChar
Associate III

I'll try to explain my problem. Don't judge me harshly please.

I will explain in detail so that someone can help me understand my problem or suggest a thought that will help me solve it on my own. The idea came to my mind, and I might be completely wrong and not understanding how it works, but I wanted to implement the following: I wanted to connect the Nucleo-F429ZI via the COM port using FT232R and check at what moment and how the control of the DTR and RST signals occurs from the STM32CubeProgrammer (V.2.15.0) program when the port is connected. This is a necessary measure because I don't have equipment on hand for technical verification.

I took my Nucleo-F429ZI, as well as the YP-05 board (with the FT232R chip), connected as shown in the picture below.

PF12 - CN11.7 - RTS

USART1_TX - CN12.21 - RXD

USART1_RX - CN12.33 - TXD

PF13 - CN8.5 - DTR

GND - CN7.8 - GND

Безымянный.png

Nucleo-F429ZI is powered through the CN1 connector with a cable that only supplies power (without data transfer). YP-05 connected via a miniUSB-USB cable transmitting data (jumper at 3.3V).

I flashed a program into Nucleo-F429ZI that checks the inputs and shows the state of the DTR and RST signals with LEDs, look here: https://github.com/CepgLLe/FDTI

Drivers are updated, speeds are set to 115200, the COM port is detected in the device manager, and it is also visible in the STM32CubeProgrammer, BUT:

17:48:09 : Port configuration: parity = even, baudrate = 115200, data-bit = 8, stop-bit = 1.0, flow-control = off

17:48:10 : Timeout error occured while waiting for acknowledgement.

17:48:10 : Error: Activating device: KO. Please, verify the boot mode configuration and check the serial port configuration. Reset your device then try again...

However, the connection is not happening. I also tried stm32flash.

Maybe I should definitely configure the microcontroller somehow? Any ideas?

 

1 ACCEPTED SOLUTION

Accepted Solutions
DmitriiChar
Associate III

Sorry for long delay...
The solution to the problem was simple. I thought that there was no need to modify anything on the Nucleo board, but I was wrong.

By AN2606 this MCU uses:

DmitriiChar_0-1731943055895.png

I tried to check what with this pins on the board:

DmitriiChar_1-1731943266540.png

I connected SB152 and this is the solution to my problem.

 

View solution in original post

8 REPLIES 8

How do you have set BOOT0 pin on STM32?

UART Rx/Tx pins are those suppored by the bootloader? Check in AN2606.

The UART_Rx/Tx pins on the Nucleo board, aren't they connected to the on-board STLink? Check in Nucleo's manual and/or schematics (under "CAD documents" tab on the Nucleo's web folder).

JW

The GitHub doesn't show the MSP code initializing the pins for the USART

Would suggest bring the USART up in your application and sending something to a terminal application. Perhaps using HAL_UART_Transmit() to send a "Hello World!" or similar pattern that you can use to confirm the wiring of the FTDI adapter.

Select the 3.3V setting.

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

Thanks for your feedback.

I tried different states of the BOOT0 contact. The board went into bootloader state, which was evidenced by the termination of the internal firmware (the LED is set to blink and the state changes when the button is pressed). At least I think so. Under different conditions, the picture is the same - there is no connection via the COM port.

This should be a simple process: give 1 to BOOT0 and press reset.

Another path followed by UART1 (but I don't use any functions except what I need):

DmitriiChar_0-1701704297722.png

I thought about using UART3 for this purpose (according to the manual I can only use UART1 and UART3), but it just goes to the ST-LINK programmer on the board, I thought that it would interfere with my interaction with the microcontroller. Mb U12 creates problems for me I don't know.

 

 

Thanks for your feedback.
I'm not sure. I thought that it's what need:

DmitriiChar_1-1701706112799.png

I configured everything through CubeMX. It seemed to me that there should be no problem with this.

But now I look at this:

DmitriiChar_2-1701706509104.png

And don't understand... Is it not OK? This is UART3 for firmware via the built-in ST-LINK programmer. I get the impression that this is also the problem, but should I define the pins of UART1 like this?

 

You could monitor the output of USART3.TX into the FTDI RX. You don't want two things driving the USART3.RX pin.

Pick at USART and pin combination that's not conflicted. Surely there are several on the card.

Pull the schematic   https://www.st.com/resource/en/schematic_pack/nucleo_144pins_sch.zip

Pull the data sheet for pins usages   https://www.st.com/resource/en/datasheet/stm32f429zi.pdf

PC6/PC7 (USART6) look unconflicted, there's probably others.

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

I decided to try HAL_UART_Transmit.
I downloaded such a program, entered the parameters of my port and everything works great.

DmitriiChar_0-1702579148593.png

look, everythin is fine:

DmitriiChar_1-1702579206443.png

Even the LEDs show me the status of RTS and DTR. It’s strange for some reason that with such a connection they change states. I think I need to look at the FT232R documentation.
But what's the problem with stm32flasher and stm32CubeProgrammer?
Could it be that these are different types of connections and some specific port configuration is expected of me?

 

Try to get a genuine FT232 from reputable source.

JW

DmitriiChar
Associate III

Sorry for long delay...
The solution to the problem was simple. I thought that there was no need to modify anything on the Nucleo board, but I was wrong.

By AN2606 this MCU uses:

DmitriiChar_0-1731943055895.png

I tried to check what with this pins on the board:

DmitriiChar_1-1731943266540.png

I connected SB152 and this is the solution to my problem.