18-09-2019, 18:21
W trakcie działania programu możliwa jest zmiana prędkości UART, korzystasz ze swojego programu na Arduino czy to jakaś biblioteka? Może biblioteka robi coś, czego nie widzisz. Taka zmiana może być wykonana tylko w kodzie na Arduino, aplikacja zewnętrzna nie zmieni mu prędkości.
Co do Leonardo, to tam jest trochę inaczej, jakiej prędkości nie ustawiłbyś od strony uC i w terminalu na PC, to terminal będzie odbierał prawidłowo (no oczywiście nie sprawdzałem wszystkich możliwości, na pewno jest tak dla 9600-115200), czyli np. w kodzie Leonardo wpisujesz begin z 115200, a potem w terminalu Arduino ustawiasz sobie po kolei różne prędkości i wszystko mimo to przylatuje prawidłowo. A wadą na Leonardo jest to, że kod musi się odpalić po resecie by zacząć obsługiwać komunikację z PC, dlatego jeśli widzisz gdzieś w kodzie linijkę
while (!Serial.available());
to jest to linijka właśnie dla Leonardo/MICRO z wbudowanym USB.
Jak to nie jest kod z NSA to wrzuć tutaj razem z tym programem PC, może komuś się będzie chciało sprawdzić co jest grane. Poza tym możesz wgrać do uC Leonardo jakiś kod typu echo z UART1 (to te piny na płytce TX1/RX1) na UART USB, do tych pinów RX1/TX1 podłączyć konwerter UART-USB (może być zrobiony z UNO/NANO w stanie reset) i przekierować sobie komunikaty z programu PC na okno terminala.
Co do Leonardo, to tam jest trochę inaczej, jakiej prędkości nie ustawiłbyś od strony uC i w terminalu na PC, to terminal będzie odbierał prawidłowo (no oczywiście nie sprawdzałem wszystkich możliwości, na pewno jest tak dla 9600-115200), czyli np. w kodzie Leonardo wpisujesz begin z 115200, a potem w terminalu Arduino ustawiasz sobie po kolei różne prędkości i wszystko mimo to przylatuje prawidłowo. A wadą na Leonardo jest to, że kod musi się odpalić po resecie by zacząć obsługiwać komunikację z PC, dlatego jeśli widzisz gdzieś w kodzie linijkę
while (!Serial.available());
to jest to linijka właśnie dla Leonardo/MICRO z wbudowanym USB.
Jak to nie jest kod z NSA to wrzuć tutaj razem z tym programem PC, może komuś się będzie chciało sprawdzić co jest grane. Poza tym możesz wgrać do uC Leonardo jakiś kod typu echo z UART1 (to te piny na płytce TX1/RX1) na UART USB, do tych pinów RX1/TX1 podłączyć konwerter UART-USB (może być zrobiony z UNO/NANO w stanie reset) i przekierować sobie komunikaty z programu PC na okno terminala.
Miło być decenianym https://buycoffee.to/kaczakat