Wpis z mikrobloga

#stm32 #mikrokontrolery #elektronika
Mirki, chciałbym wprowadzić STM32L0 w tryb standby i wybudzać go kiedy przyjdzie wiadomość po UART1. Chcę zacząć od odbioru wiadomości przez przerwanie i nie wychodzi. Włączyłem przerwanie, ale program nigdy tam nie wchodzi.
Używam HALa. W pliku startup jest zadeklarowane to przerwanie i w kodzie też jest zapisane. W pętli wszytko działa ok, jakieś pomysły?
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@NiedzielnyMirek: jakie przerwanie masz? Tzn nazwa callbacka. Ja miałem podobny problem z przerwaniem z UART, więc podłączyłem RX do GPIO z przerwaniem zewnętrznym na zbocze opadające xD I w przerwaniu zewnętrznym robiłem odbiór ramki itd
  • Odpowiedz
@xerxes931: na właśnie czytam o takiej magii. Jak to wygląda? Pin zamiast RX jest GPIO i wykrywa przerwanie. Wybudza mikrokontroler i zmienia funkcję na RX. Uart zdąży to odebrać poprawnie o ile jego zegar nie był uśpiony?
  • Odpowiedz
@NiedzielnyMirek: nie nie, ja po prostu podłączyłem kabelkiem RX tego UART7 (w moim przypadku, na stm32f429) z PA0, które skonfigurowałem na przerwanie zewnętrzne triggerowane zboczem opadającym, bo początek ramki UART to bit startu czyli zejście ze stanu wysokiego na niski. I potem w przerwaniu z EXTI0 robiłem UART Receive 1 bajtu, bo ogólnie jak odbierasz na UART jakiś bajt to on siedzi w buforze tak długo póki go nie odczytasz
  • Odpowiedz