-
Fototrend
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
Teasüti
nagyúr
Estét!
Kérhetnék egy-két tippet arra miért hibázik nekem a Serial átvitel?
Serial monitorból szeretnék 11 karaktert átküldeni: 255,255,255.
De egymás után többször se sikerül fogadni az adatot, vhol mindig hibázik.
Ez volna a kód, aminek el kéne kapnia papíron:char message[12] = {};
bool newMessage = false;
byte messageCount = 0;
while (Serial.available() > 0) {
char c;
c = Serial.read();
if ((c == '\r') || (c == '\n')) { //end of line
if (messageCount) { //empty message filter
newMessage = true;
Serial.println("EOL");
break;
}
}
else {
message[messageCount++] = c;
if (messageCount > 12) { //overflow
newMessage = true;
break;
}
}
}Ez elvileg több loop() cikluson keresztül is olvas egészen addig, míg nincs sor vége, vagy túl nem csordul a tömb.
Ennek ellenére random hibákat dob nekem, kimarad egy-egy karakter a közepéből, vagy a végéről (ami után megjött ez EOL jelzés), de olyan is előfordult, hogy a 255-öt 2555-nek mentette el a kimeneten.Az átvitel bluetooth-on (hardveres UART) történik és a 15KB program hiba nélkül felmászik, de nem tudok elküldeni 11 bájtot??

(Mondjuk USB-hez viszonyítva tovább tart; lehet hogy hibajavítózik feltöltéskor? Tud ilyet a bootloader?)
A táp hálózatról megy, szóval még csak a gyenge USB-re se lehet ráfogni.
Sőt, a perifériáknak (BT) külön ágról megy a táp, nem az Uno-ról üzemelnek (ground közösítve).Jah és a Serial.write parancsok egyáltalán nem hibáznak. Soha.

Erre esetleg van vkinek vmi ötlete?

Új hozzászólás Aktív témák
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: Laptopműhely Bt.
Város: Budapest



ekkold
