mczarny napisał(a):
szymanskim napisał(a):
Przeanalizuj sobie procedurę wysyłania znaków przez uart. Jak myślisz czy wysyłanie korzysta z przerwań? Ano korzysta wiec następuje przerwanie w przerwaniu i robi się kaszana. Powołaj sobie lepiej timer programowy na podstawie sprzętowego i wysyłaj to co chcesz w pętli głównej korzystając już z timera programowego.
Ok dzięki. Rozumiem że jak napisałeś żeby wyświetlać w pętli głównej to sugerujesz zrobić wysyłanie na uarta bez przerywan czyli wrzucac po znaku i patrzec czy sie wyslalo i nie bawic sie w przerywania uarta? W domu przetestuje bibloteke wysyki bez przerywań - dodalem jednego #define żeby przełączyć biblotekę w tryb bezprzerywaniowy.
Powiem szczerze, że jestem zaskoczony że nie jest wskazane, żeby chodziło parę różnych przerywań. Zakładałem że jest stos i jeśli nawet taka sytuacja się wydarzy to nic złego się nie stanie, no chyba że mówimy o sytuacji gdzie zabraknie miejsca na zmienne na stosie? W końcu jest parę rodzajów przerywanie i chyba twórcy procka założyli że użytkownik wykorzysta parę na raz typu timer + UART?
Swoją drogą ten licznik robiłem po to aby głównie mierzyć czas od ostatniego odbioru pakietu przez biloteke NRF24 i jak czas był za duży restartowałem procek ale okazuje się,że niezbyt o pomaga bo problem jest raczej z układem NRF (a możliwe że z całym ukłądem) i reset procka nic nie daje.