2016-10-25 10:43 PM
Hello,
I have problem with my new Discovery kit with STM32F429ZI uC. When I plug the board to the USB port I see three connected devices in Windows Device Manage - ST Link Dongle as Usb device, ST Link Virtual Port Com which is installed at port COM4 and ST Link Mass Storage. The ST Link firmware is upgraded to 2.28.18 version. So if I have build-on serial port why would I use external USB->Serial Port converter (at 3,3V) with for example FTDI chip? I wrote some code for USART at FreeRTOS and it works for other usart modules and pins. When I use USART1, PA9 and PA10 pins I can't receive full string on PC side. I receive at either the letter of all string letters. For example If I send string ''USART FreeRTOS! \n\r'', receive on PC terminal 'S' \n 'R' \n 'R'. I've configured CPU clocks (I know that in system_stm32f4xx.c file the HSE_VALUE is 25 MHz and the PLL values must be change. CPU clock work fine, because I have good timings on FreeRTOS TaskDelays, blinks the LED and the other USART send data correct. So...what should I do to correct use of USART1 and Virtual Port COM in ST Link? Windows drivers are incorrect? The baudrate is wrong? (I've tested many and not work). SB11 and SB15 bridges was soldered by producer while first Discovery usage,therefore, I believe
that it
has to be OK.
#stm32f429discovery #stlink-vcp2016-10-26 02:34 AM
Hi doles.damian,
As mentioned in STM32F429DISCOVERY
:The ST-LINK/V2-B on STM32F429I-DISC1 supports Virtual Com Port (VCP) on U2 pin 12 (ST-LINK_TX) and U2 pin 13 (ST-LINK_RX), which are connected to the STM32F429 target STM32 USART1 (PA9, PA10) for mbed support, thanks to SB11 and SB15 solder bridges. The SB11 (PA9) and SB15 (PA10) default configurations for 32F429IDISCOVERY and STM32F429I-DISC1 are given in Table 5: Solder bridges.
(6.1.3 VCP configuration)
If SB15 and SB11 are ON, STM32F429 USART1 is connected to ST-LINK, so VCP is enabled (default configuration on STM32F429I-DISC1).
If SB15 and SB11 are OFF, STM32F429 USART1 is not connected to ST-LINK, so VCP is disabled (default configuration on STM32F429I-DISC1).
(Table.5 solder bridges)
So you would either use an other USART than USART1 and keep VCP enabled,or , you take into account to disable VCP when using USART1.
-Hannibal-
2016-10-26 05:20 AM
OK I understand all of this information and I've read it. There is no information about baudrate configurations, it is autobaud to USART1 software? I mean, ST Link VCP ''know'' what is the baud rate based on target software. There are no information about it. The second - I don't understand your last sentention. If I want to use USART1 I should to desolder SB11 and SB15? If it true - how does work VCP in ST Link and why producer solder it as default
if usart1 does not work with the ST Link VCP. My problem is why I can not receive full sending string from target and why I receive only some letters of this string. I don't know about some extra drivers or configuration which
the manufacturer is
not
written
in the documentation. I would like only use USART1 and VCP as my terminal but it doesn't work.
What I use
an external terminal
if the st-link has built-on terminal ? We2016-10-26 08:29 AM
The VCP doesn't auto-baud, you set the baud rate on the USB side to match that which you have set on the STM32 side. Send a bunch of 'U' characters from the STM32 side and scope the pins to validate the bit timing.
On the STM32 side the correctness of the setting is predicated by the understanding of what the clock sources are, and specifically HSE_VALUE being 8000000Not sure I have any F429I-DISC1 boards, all mine are DISCO versions, and I use the SWV terminal for them.