ATMega328p fagy soros vonal esetén

Processing/Wiring (illetve C) nyelvű programozási fogások, tippek. (AVR-Duino, Arduino, EthDuino, Diecimila, Severino, Nano, LilyPad)
Válasz küldése
Avatar
kolozsy
DrótVégénSzéndarab
Hozzászólások: 27
Csatlakozott: 2012. szeptember 6. csütörtök, 6:00

ATMega328p fagy soros vonal esetén

Hozzászólás Szerző: kolozsy »

Üdvözletem!
Van egy ArduinoMega -főnök. Ez folyamatosan adatokat kér és kap a soros vonalon egy ATMega328p -n futó automata antennahangolótól.
Később a soros port RS485 -t fog vezérelni. Most egymás mellett vannak.
Küld egy "swr;" parancsot a főnök, erre kap egy "swr1.23;" választ. Nyugalmi állapotban még az "inf;" kérésre jön válasz a hangoló állapotáról ( L és C )
"AC111; küldése indítja a manual_hangolast.
A hangoló soros vonalát csak ez a kommunikáció használja.
A automata hangoló magában tökéletesen működik.
Összekötve is működik. Lehet indítani a hangolást az ArduinoMegáról és veszi a hangoló állapotát.
De :-)
Nyugalmi állapotban egyszer csak (egy perc- öt perc) nem küld válaszokat a hangoló és nem reagál semmire. Helyben sem működik. Resetelni kell.
A főnök küldi a parancsokat, kéréseket. Ez látható egy Saleae Logic Analyzer -rel.
A kódok túl nagyok, hogy bemásoljam ide. Azért egy részlet, így fogadja a hangoló a kérést, parancsot.

Serial.setTimeout(10);
Serial.readBytesUntil(';', cmd_receive_buffer, 6);

switch(cmd_receive_buffer[0])
{
case 'A':
if(('C' == cmd_receive_buffer[1])&&(cmd_receive_buffer[4] == '1'))
{
tune_from_out = LOW;
}
stb.

Mik okozhatják az ATMega328P fagyását, ami csak a soros vonal csatlakozása esetén fordul elő?
Válaszokat előre is köszönöm: Laci
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: ATMega328p fagy soros vonal esetén

Hozzászólás Szerző: Robert »

Én közben rámérnék a Tx/Rx (D0/D1) vonalakra is, és a fő loop()-ba egy életjelszimulátor LED, valamint a soros adatérkezésről valami újabb LED visszajelzést.
Avatar
kolozsy
DrótVégénSzéndarab
Hozzászólások: 27
Csatlakozott: 2012. szeptember 6. csütörtök, 6:00

Re: ATMega328p fagy soros vonal esetén

Hozzászólás Szerző: kolozsy »

Köszönöm a választ.
Két változtatás után, nem áll le. - egy nap tapasztalata.
1- a setTimeout(10); -ről setTimeOut(200);
2- ez a soros vonalon bejövő kéréseket, és 'tune' parancsot fogadó 'funkció' a loopból átkerült abba a 'funkcióba' amely a saját 'tune' parancsot kezeli. A digitalRead sor után.

Lehetséges? vagy csak véletlen?
Üdvözlettel: Laci
Válasz küldése