elektryczny22 Napisano Grudzień 15, 2020 Udostępnij Napisano Grudzień 15, 2020 Witam, Mam taki problem z NUCLEO 303RE oraz GPS NEO-6M. Chodzi o to że jak mam podłączony układ GPS do USART 2 wyprowadzenie PA2 (TX) i PA3 (RX) to nic mi nie działa. Natomiast w PC pojawia mi się wirtualny COM3. Skorzystałem z przykładu https://forbot.pl/blog/kurs-stm32-f4-7-komunikacja-przez-uart-id13472 Po wpisaniu 10 znaków w terminalu dostoję odpowiedz oraz zmienia się stan diody. Niestety nie dzieje się tak jak podłączę GPS. GPS wysyła co 1s cały czas dużo danych więc dioda powinna zmieniać stan. Prędkości 9600. Czegoś chyba tu nie rozumiem. Proszę o pomoc i wyjaśnienie. Cytuj Link do komentarza Share on other sites More sharing options...
piotr96 Grudzień 15, 2020 Udostępnij Grudzień 15, 2020 Czytałeś może dokumentację płytki? Zwłaszcza fragment: Cytat The USART2 interface available on PA2 and PA3 of the STM32 microcontroller can be connected to ST-LINK MCU, STMicroelectronics Morpho connector or to Arduino connector. The choice can be changed by setting the related solder bridges. By default the USART2 communication between the target MCU and ST-LINK MCU is enabled in order to support Virtual Com Port for mbed (SB13 and SB14 ON, SB62 and SB63 OFF). If the communication between the target MCU PA2 (D1) or PA3 (D0) and shield or extension board is required, SB62 and SB63 should be ON, SB13 and SB14 should be OFF. In such case it possible to connect another USART to ST-LINK MCU using flying wires between Morpho connector and CN3. Wygląda na to, że musisz jakieś zworki poprzestawiać na płytce lub skorzystać z innego USARTa, wyprowadzonego na inne piny mikrokontrolera. (Być może też USART2 można zmapować na inne wyprowadzenia na płytce, ale nie jestem pewien, czy STMy tej serii mają akurat taką możliwość). 1 Cytuj Link do komentarza Share on other sites More sharing options...
elektryczny22 Grudzień 15, 2020 Autor tematu Udostępnij Grudzień 15, 2020 (edytowany) Serdecznie dziękuję za szybką odpowiedź. Na UART3 działa bez problemu. Na UART 2 wysyłam dane z printf za pomocą funkcji int __io_putchar(int ch) { HAL_UART_Transmit(&huart2, (uint8_t*)&ch, 1, 1000); return ch; } i wszystko działa. Wychodzi na to ze mam uszkodzony UART1. Edytowano Grudzień 16, 2020 przez Gieneq Zachęcam do używania bloku kodu Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!