Wpis z mikrobloga

#elektronika #programowanie #arduino #esp8266

Pytanie. Podłączyłem moduł do Arduino i czytam przez Serial. To, co przeczytam, leci na wyświetlacz LCD. Ale poza tym są też jakieś chińskie krzaki, domyślam się, że to znaki nowej linii. Próbowałem je wywalić używając:

if ((int)inChar>47&&(int)inChar<58) inData[index] = inChar;
else inData[index] = 57;

Efekt tego powinien być taki, że każdy przeczytany znak z Seriala, który nie jest cyfrą, będzie zamieniony na 9. I faktycznie tak się dzieje, wszystko jest zamieniane na 9 poza cyframi, a te chińskie krzaki nadal są. Macie jakiś pomysł, jak je wywalić?
  • 14
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@MrDarkenRahl: serial nie powinien się krzaczyć, normalnie wszystko działało na takim baudrate bez wyświetlacza. Poza tym dane są dobre. To jakaś kwestia interpretacji znaku nowej linii przez wyświetlacz, ale wydawało mi się, że zastąpienie wszystkich znaków, które nie są cyfrą przez 9 pomoże.
  • Odpowiedz
@ortofosforan: na moje oko to nie znak NULL tylko 0 znak wyświetlacza zapisany w eprom. Tam jest możliwość zapisania chyba 8 własnych znaków. Po wysłaniu wartości 0x00 on wstawia ten znak zdefiniowany przez użytkownika. Inny ci się pokazał jak na wyświetlacz poszło coś w stylu 0x01 ... 0x08. Sprawdź proszę te teorię wysyłając na wyświetlacz kolejno 0x00 0x01... 0x08
printf - @ortofosforan: na moje oko to nie znak NULL tylko 0 znak wyświetlacza zapisa...

źródło: comment_VjaFADsegf8ILSCAJUDFzVWWVqtPZKlJ.jpg

Pobierz
  • Odpowiedz