Styret og terminalen bruker sannsynligvis ikke samme baudrate. Sjekk nederst i høyre hjørne av Arduino Serial Terminal og sørg for at den er satt til 9600.
Serial Data
Seriell kommunikasjon fungerer ved å sende hele datastrømmen en bit av gangen. Dette er i motsetning til standard parallellport som sender en byte om gangen. Begge enhetene trenger å vite i hvilken hastighet dataene sendes. Videre må begge enhetene fungere i samme hastighet. Dette kalles baudrate.
Baud Rate
Baud betyr egentlig bare pulser per sekund. I sammenheng med seriell kommunikasjon betyr det hvor mange biter som overføres per sekund. En av de vanligste verdiene er 9600, men det er andre vanlige som er faktorer eller multipler av 9600. Det spiller imidlertid ingen rolle, så lenge begge enhetene fungerer i samme hastighet.
Hvis jeg sender deg meldinger raskere enn du får dem, mister du data. Hvis jeg sender deg meldinger tregere enn du mottar dem, blir du tull blandet med det jeg sendte deg.
Data, Parity, Stop bits
Hvis du ser på dokumentasjonen for start ()
ser du at det kan ta to parametere:
Serial.begin (speed) Serial.begin (speed , config)
Forhåpentligvis forstår du hastighet nå, det er bitene per sekund som Arduino vil kommunisere med.
Den andre parameteren, config kode>, lar deg konfigurere noen andre ting om seriell dataoverføring. Dette er data-, paritet og stopp-biter. Du ser på siden at den har verdier som 5N1
, 6N1
og SERIAL_8N1 (standard)
Den første tallet representerer hvor mange databiter. Den andre karakteren forteller deg hva slags paritetsbit det er. E
for jevn paritet, O
for odd paritet, eller N
for ingen paritet. Det tredje tallet forteller deg hvor mange stoppbiter.
Så egentlig, med 8N1 har vi 10 bits som sendes for hver 8 bits "dine" data. 1 startbit, 8 databiter og 1 stoppbit.
Uansett må begge sider bli enige om denne informasjonen så vel som hastigheten. Arduino Serial Terminal gir deg ikke muligheten til å endre disse innstillingene, men andre gjør det, så du må være sikker på at alle disse konfigurasjonsinnstillingene er de samme.
Mer informasjon på wiki: Asynkron seriell kommunikasjon