5 years, 2 months ago.

How to enable specific UART pins?

Hi, I'm using seeedArchMax. It has STM32F407VET6 on it. In datasheet, it says, that there are USART3_TX and USART3_RX on pins PD8, PD9 as alternate function. But when I write Serial pc(PD_8, PD_9); it doesn't work. Can I somehow use UART on these pins exactly?

2 Answers

5 years, 2 months ago.

I see that in the master from Github that Seeed did not describe those pins as Serial. Take a look here. https://github.com/ARMmbed/mbed-os/blob/master/targets/TARGET_STM/TARGET_STM32F4/TARGET_STM32F407xE/TARGET_ARCH_MAX/PeripheralPins.c

You can always edit the repository and replace the mbed library with a custom version. In the Github source you will need to add the correct description for the pins on PD8/PD9 in order to use them. Perhaps raise this issue with Seeed Studio? They should update their repository entry.

Accepted Answer
5 years, 2 months ago.

Hi Alex,

Please refer to PinNames.h of Arch MAX here,

https://github.com/ARMmbed/mbed-os/blob/d0b5ba6d8424b56481f6f1613faa27ffbe185c04/targets/TARGET_STM/TARGET_STM32F4/TARGET_STM32F407xE/TARGET_ARCH_MAX/PinNames.h#L241

PD_8 and PD_9 are default used by LED, check if your configuration is overlapped, and try to use other GPIO if possible.

Regards, Desmond