Witam. Próbuję nauczyć się korzystać z przerwań. Napotkałem taki oto problem. W moim programie mam funkcję która wczytuje określoną ilość bajtów z USART by wydać odpowiedni rozkaz. Kiedy funkcja ta "trwa" czyli czeka aż wpiszę te bajty do terminala to przerwania nie działają albo mikrokontroler nie odbiera w ogóle tych bajtów. Ktoś wie jak to zrobić? Mój kod wygląda następująco:
Funkcja USART_Receive_Bytes ma dwa argumenty, pierwszy to ilość bajtów do odebrania a drugi to bajt stopu czyli jeśli wprowadzony bajt będzie równy temu podanemu jako argument to funkcja przestaje pobierać dalej informacje.
Sęk w tym że przerwanie działa jak wyłączę tę funkcję a funkcja działa jak wyłączę przerwanie. Takie błędne koło. Pozdrawiam
Kod: C / C++
Funkcja USART_Receive_Bytes ma dwa argumenty, pierwszy to ilość bajtów do odebrania a drugi to bajt stopu czyli jeśli wprowadzony bajt będzie równy temu podanemu jako argument to funkcja przestaje pobierać dalej informacje.
Sęk w tym że przerwanie działa jak wyłączę tę funkcję a funkcja działa jak wyłączę przerwanie. Takie błędne koło. Pozdrawiam