Pytanie:
ESP8266 12e Arduino IDE wyprowadza wartości śmieci na monitorze szeregowym
Alex
2016-09-26 02:02:19 UTC
view on stackexchange narkive permalink

Niedawno zacząłem używać ESP8266 12E (łącze do Amazon) i podłączyłem płytę do Arduino IDE.

Próbując uruchomić dowolne przykładowych szkiców, wszystkie szkice kompilują się i ładują poprawnie. Szkic mrugnięć prawidłowo powoduje miganie diody LED, jednak na monitorze szeregowym pojawia się zmienna i duża ilość niepotrzebnych znaków:

screenshot

Pierwszą rzeczą, którą zbadałem, była oczywiście szybkość transmisji. Dokumentacja online dla ESP8266 wskazuje 115200 jako prawidłową prędkość transmisji, ale na spodzie urządzenia jest ona podana jako 9600.

Niepotrzebne znaki oczywiście pojawiają się, czy szybkość transmisji jest 9600 lub 115200. Używając metody prób i błędów, wypróbowałem różne opcje. Wypróbowałem także kilka kabli USB do micro-USB (c). Są to te same, których używam do ładowania telefonu - czy w tym problem?

Czy brakuje mi czegoś prostego? Przeszukałem każde z pozostałych pytań Stack Exchange o wartości monitora pamięci masowej i wszystkie wydawały się wskazywać, że przyczyną była szybkość transmisji lub że wartości CL / NR należy zmienić. Eksperymenty z nimi nie doprowadziły do ​​usunięcia znaków.

Dwa odpowiedzi:
Majenko
2016-09-26 02:05:27 UTC
view on stackexchange narkive permalink

Szybkość transmisji określona w programie i szybkość transmisji w monitorze szeregowym muszą być zgodne. ESP8266 wysyła komunikat rozruchowy z własną szybkością transmisji (różni się w zależności od modelu - spróbuj 57600) przed wykonaniem szkicu.

Na przykład:

enter image description here

Możesz wybrać dowolną (w rozsądnym zakresie) szybkość transmisji w swoim programie, o ile wybierzesz również tę samą szybkość transmisji w tym, co się z nim komunikuje (na przykład monitor szeregowy w IDE) . Jeśli chcesz zobaczyć komunikaty startowe, monitor szeregowy będzie musiał mieć ustawioną odpowiednią prędkość transmisji.

Dziękuję za odpowiedź - nie wiem, jak wyświetlić ten komunikat rozruchowy. Obecnie używam systemu Windows 10 i nie mam (łatwo dostępnej) działającej instalacji systemu Linux. Mogę uzyskać dostęp do jednego w ciągu kilku godzin, jednak szybkości transmisji wydają się być zgodne - w menu Arduino IDE Tools> Baud Rate + menu monitora szeregowego i sam kod, wszystkie odczytały 115200. Zmieniłem je na 57600 i nie zrobiłem zauważ jeszcze zmianę
... "Jeśli chcesz zobaczyć komunikaty rozruchowe, monitor szeregowy będzie musiał mieć ustawioną odpowiednią prędkość transmisji." ... Co w tym nie jest jasne? Gdzie znajduje się Twój system operacyjny hosta?
Nacisnąłem klawisz Enter przedwcześnie - zobacz edycję komentarza powyżej
Robię to cały czas;) Szybkość transmisji w menu narzędzi służy wyłącznie do załadowania kodu. Szybkość transmisji w kodzie służy wyłącznie do komunikacji z samym kodem. Jedyną szybkością transmisji, która ma jakikolwiek wpływ na komunikaty rozruchowe, jest ta z listy rozwijanej monitora szeregowego. Wypróbuj tam różne wartości. Lub po prostu zignoruj ​​komunikaty rozruchowe, ponieważ nie są one tak interesujące.
Eksperymentując więcej z szybkościami transmisji - dowiedziałem się, że 74880 generuje dokładny komunikat rozruchowy (patrz link poniżej): [link] (http://i.imgur.com/WXgRQ5B.png) Nadal mam funky "y" (y z umlaut) ÿ Czy wartości EOL / CR / NL mojego monitora szeregowego są nieprawidłowe? Uff, to był dość edukacyjny proces. Bardzo doceniam twoją pomoc, Majenko!
Symbol ÿ jest zwykle związany z zerwaniem linii lub zanikiem w inny sposób, zwykle pod koniec transmisji lub po rozpoczęciu transmisji. Zasadniczo jest to korupcja i jest prawie normalna.
Bob Johnson
2017-12-18 00:46:27 UTC
view on stackexchange narkive permalink

Wydaje mi się, że miałem ten sam problem co Ty. Opublikowałem swoje rozwiązanie tutaj:

Link do mojego rozwiązania

Wygląda na to, że ESP może przesłać kod pod numerem 115200, ale nie może mówić do monitora szeregowego przy tej szybkości transmisji. Rozwiązaniem jest programowa zmiana szybkości transmisji w szkicu. Zmiana szybkości transmisji nie „przykleja się”. Musisz uwzględnić to w swoim szkicu, aby było ustawiane za każdym razem, gdy szkic jest uruchamiany.

Mam nadzieję, że to pomoże.



To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 3.0, w ramach której jest rozpowszechniana.
Loading...