Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[STM32F7 Disco][USART1] - Inicjalizacja USART1

05 Gru 2016 18:26 594 4
  • Poziom 8  
    Witam serdecznie. Zwracam się do Was z prośbą o pomoc. Mam projekt, który bazuje na plikach od producenta i chciałbym do niego dodać możliwość komunikacji z terminalem za pomocą USART1. Z pomocą STM32 Cube wygenerowałem sobie projekt z USART1 który działa i przesyła mi dane na konsolę, ale po przekopiowaniu funkcji do mojego projektu docelowego to nie działa.

    Funkcja do inicjalizacji USART1:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    zmienna huart1 jest typu

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Inicjalizacja GPIO wygląda tak:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    więc PA7 i PB9 wygląda że są skonfigurowane.

    Wszystkie funkcje wymienione tutaj wywołuję w main() i dla czystych testów zrobiłem sobie taki kod :

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Dodałem pętlę nieskończoną aby widzieć czy poprawnie będzie mi mrugała dioda i rzeczywiście tak jest. Jednak po resecie żadna dana nie jest przesyłana na konsolę (skonfigurowana z dobrymi parametrami, ponieważ z projektem wygenerowanym przeze mnie w STM32 Cube działa poprawnie i przesyła dane).

    Chciałem na podstawie USART1 później dołożyć sobie inicjalizację UART7 aby móc przesyłać dane za pomocą zewnętrznego układu (ale to w późniejszym czasie).

    Czy o czymś zapomniałem ?

    Z góry dziękuję za pomoc, pozdrawiam !
  • Pomocny post
    Użytkownik usunął konto  
  • Poziom 8  
    Rzeczywiście nie ... Spróbowałem to jakoś połączyć, jedną funkcję z drugą i wyszło takie cudeńko, ale niestety również nie działa:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Dodałem strukturę do peryferium, funkcję HAL_RCCEx_PeriphCLKConfig() ale nie wiem czy coś jeszcze jest potrzebnego. Czy mógłbyś mnie nakierować gdzie znaleźć informację jak uruchomić taki zegar dla konkretnych peryferiów ?

    Dziękuję i pozdrawiam.
  • Pomocny post
    Użytkownik usunął konto  
  • Poziom 8  
    DZIĘKUJĘ ZA POMOC !

    Ustawienia pinów alternatywnych pomogło. Dziwne że w plikach od CubeMX tego nie widzę ...

    Pozdrawiam !