cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F769NI Discovery UART6 sends corrupted output

Dhaval Patel
Associate II
Posted on March 12, 2018 at 23:29

Hi,

I using

Board: STM32F769NI Discovery

CubeMx: 4.24.0

STM32Cube_FW_F7_V1.9.0

ARM MDK: 5.24.2.0

When I try to use UART6 for communicating with hyper terminal (or putty).

My UART6 and HT are configured as below

0690X00000604TQQAY.jpg

I get corrupted output on hyper terminal.

0690X0000060A68QAE.png

If I use UART1 via ST-link with baud rate 115200. I do get proper output on hyper terminal.

0690X00000604HzQAI.jpg

I tried to set different clock source for UART: PCLK2, SYSCLK, HSI, LSE but it doesn't resolve the issue.

My CubeMx setup is as below:

0690X00000604TVQAY.jpg0690X00000604TWQAY.jpg0690X00000604TaQAI.jpg

I don't understand why UART6 output doesn't work as it should be?

Any hint?

Thanks

#discovery #uart #stm32f7 #stm32f769ni #uart6
1 ACCEPTED SOLUTION

Accepted Solutions
Posted on March 13, 2018 at 00:28

How are you wiring USART6 to hyperterminal?

The USART is at CMOS levels which are not compatible with RS232 levels.

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

View solution in original post

7 REPLIES 7
Posted on March 13, 2018 at 00:28

How are you wiring USART6 to hyperterminal?

The USART is at CMOS levels which are not compatible with RS232 levels.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Pavel A.
Evangelist III
Posted on March 13, 2018 at 00:39

On the Cube timing tree you immediately see that HSE is not connected at all.

PLL feeds from HSI. To fix this, click the radio button on PLL source mux to select HSE.

Or, select HSE input for the System clock mux.

Then, in case of conflicts (if something shows up in red color), select 'resolve' until all red stuff disappears.

- pa

Posted on March 13, 2018 at 17:42

Thanks Clive for pointing out this. Somehow I missed this. Now I use MAX232 to drive my RS-232. It works fine.0690X00000604TqQAI.jpg

Incase someone has same issue then below is the ckt dia (taken from TI data sheet)

0690X00000604R6QAI.jpg

Connect ground of Discovery board to MAX-232 ckt ground and RS-232 ground (pin5).

Posted on March 13, 2018 at 17:47

Thanks for trying to help me on this. I have already tried different clock combinations. I think for discovery board we can use any source of clock to drive UART clock from three available clock types as per AN4661.

Posted on March 13, 2018 at 17:53

You can. There is a dependency on the define HSE_VALUE being correct so the math works properly when HSE is in use, and this is a frequent cause of garbled data, but as your other USART worked properly I discounted this as a possible cause.

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

hai ,

Let me ask you a question related to this ....I am trying to implement UART communication between STM32F746 DISCO and ESP32-WROOM-32D developement board. I am using UART6 for connection . Right now , I am unable to see anything on PUTTY FROM uart6 . I believe this is the coz of absence of MAX232 OR RS232 STANDARD . So my question is , I dont want to see the data on PC from UART6 , BUT AM I ABLE TO RECIEVE DATA ON THE OTHER END & ENSURE ITS TRANSMISSION OVER THERE ?

Please consider just opening a new thread in the future.

The STM32 and ESP32-WROOM-32D module should be able to talk to each other via CMOS level. ie MCU to MCU

If you want to inspect or probe the signals, you might do better with a USB-to-CMOS Serial like adapter using an SiLabs or FTDI chip. Connect the RX pin of the adapter to the USART6_RX or USART6_TX pin to inspect the traffic.

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