2025-01-27 03:36 AM - last edited on 2025-01-27 05:05 AM by SofLit
Hi, I am using the STM32 NUCLEO-F401RE board and have already use the HAL APIs to blink the led. now I want to blink the onboard user led [LD2] using the FTDI module and want to use the USART6 for it can anyone please help and explain me in detail that how I will be doing this?
2025-01-27 04:55 AM
So, as @SofLit said earlier, have you confirmed that you can both send and receive on the UART, using the connections you have?
If that basic communication isn't working, then nothing else can work - including the bootloader.
2025-01-27 04:59 AM
as you can see in device manager under ports section it shows the (com12)
2025-01-27 05:03 AM - edited 2025-01-27 05:45 AM
So again check your FTDI status. For example you can loop back Tx to Rx and send characters with a HyperTerminal. If you receive what you sent this means your FTDI module is OK.
Again check all your connections (continuity test) and what USART1 pins you are using according to the application note I shared before: Tx: PA9 / Rx: PA10. Check if you did your Rx/Tx pins connection to the correct Arduino connector pins. You can do a mistake while wiring your circuit
2025-01-27 05:30 AM
I have just completed the loop back test, and it is working fine any other thing that I'm missing right now?
2025-01-27 05:32 AM - edited 2025-01-29 12:51 AM
@SofLit wrote:So again check your FTDI status. For example you can loop back Tx to Rx and send characters with a HyperTerminal. If you receive what you sent this means your FTDI module is OK.
@mohite25 that will just check the FTDI module itself.
You also need to check that the signals are reaching the UART.
To do that, you'll need code in the STM32 which performs a loopback.
A common test is to re-transmit each received character incremented by one, thus guaranteeing that you're actually seeing the transmitted data - not just local echo, or a short-circuit...
PS:
You still haven't shown the schematic of your connections
2025-01-27 05:36 AM
Got it, working on it and will be giving a update after completing it
2025-01-27 05:36 AM - edited 2025-01-27 05:45 AM
@mohite25 wrote:
I have just completed the loop back test, and it is working fine any other thing that I'm missing right now?
Already said: "check all your connections (continuity test) and what USART1 pins you are using according to the application note I shared before. Check if you did your Rx/Tx pins connection to the correct Arduino connector pins. You can do a mistake while wiring your circuit"
+ did you modify your board previously? I mean you connected/removed something on USART1 Tx or Rx which you forgot to remove/restore?
2025-01-28 09:45 PM
Hi @SofLit and @Andrew Neil,
I truly appreciate the guidance and insights you have provided so far. I have thoroughly checked all the connections and verified that the signals are successfully reaching the STM32 board through UART.
To ensure I am on the right track, I referred to the following video, where it was mentioned that this particular error might be occurring because the bootloader is scanning a different interface while I am expecting it on USART1/USART2. However, I am not entirely sure about the exact steps needed to address this.
I would greatly appreciate any further clarification on how to properly align the bootloader interface with the expected USART. Your expertise and any additional insights you could share on this would be invaluable.
2025-01-28 10:47 PM
The previous steps you described previously are correct. To me it’s a hardware issue. If you have any connection to any used gpio ressources except usart1 please remove it.
2025-01-29 12:51 AM
@mohite25 wrote:I have ... verified that the signals are successfully reaching the STM32 board through UART.
How, exactly, did you verify that?
@mohite25 wrote:this particular error might be occurring because the bootloader is scanning a different interface while I am expecting it on USART1/USART2.
Exactly.
That's why I suggested you need to run some test code to prove that you are actually communicating on the correct UART via the correct pins.
Have you done that?