WtchDog Arduino nano

Processing/Wiring (illetve C) nyelvű programozási fogások, tippek. (AVR-Duino, Arduino, EthDuino, Diecimila, Severino, Nano, LilyPad)
Válasz küldése
Bagizo
Újonc
Újonc
Hozzászólások: 8
Csatlakozott: 2020. március 30. hétfő, 11:20

WtchDog Arduino nano

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

Sziasztok!
Próbálta már valaki a watchdog-ot Arduino nano-n?
Az alábbi próba programot futattam, de nem a vártak szerint működik. Amikor már nem kap resetet a watcdog, újra is indítja a vezérlőt, de úgy tűnik, nem a program indul újra. A D13-ra kötött led gyors villogásba kezd, a nano semmire nem reagál, azt hiszem még a resetre-sem. Táp lehúzás és új programverzió feltöltés viszont működik! Letöltöttem egy watchdog könyvtárat is, ugyanzt produkálja. Megnéztm videókat a neten, ott működött ugyanez program, bár ott UNO-val próbálkoztak.
Ez a példaprogram, amit kipróbáltam:

#include<avr/wdt.h> /* Header for watchdog timers in AVR */

void setup() {
Serial.begin(9600); /* Define baud rate for serial communication */
Serial.println("Watchdog Demo Starting");
pinMode(13, OUTPUT);
wdt_disable(); /* Disable the watchdog and wait for more than 2 seconds */
delay(3000); /* Done so that the Arduino doesn't keep resetting infinitely in case of wrong configuration */
wdt_enable(WDTO_2S); /* Enable the watchdog with a timeout of 2 seconds */
}

void loop() {
for(int i = 0; i<20; i++) /* Blink LED for some time */
{
digitalWrite(13, HIGH);
delay(100);
digitalWrite(13, LOW);
delay(100);
wdt_reset(); /* Reset the watchdog */
}
while(1); /* Infinite loop. Will cause watchdog timeout and system reset. */
}

Köszi!

Bagi
Bagizo
Újonc
Újonc
Hozzászólások: 8
Csatlakozott: 2020. március 30. hétfő, 11:20

Re: WtchDog Arduino nano

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

Sziasztok!
Hátha valakit érdekel a megoldás! A fenti program az old bootloaderes nano-n nem működik. Az UNO jól működik vele. A legújabb Arduino IDE-vel rátöltöttem a nano-ra egy bootloadert, és megoldódott a probléma. Azóta viszont (logikusan) a nano-ra történő program feltöltéskor az IDE-ben már nem az old bootloader-es ATmega328-at kell kiválasztani, hanem a simát!
Bagi
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: WtchDog Arduino nano

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

Csak a pontosítás miatt: Nem elromlik, hanem, a WatchDog esetén az újraindulás okát az MCUSR nevű regiszter tárolja. A NANO Old Bootloader (ami megegyezik a diecimila/duemilanove bootloaderrel) ezt kiolvassa, és ha WatchDog volt az indulás oka, akkor a bootloadert végtelen ciklusba küldi, hogy a hibásan futó program ne okozzon kárt ...

A "kiütése":
- Áramkört resetben tartod (resetgomb nyomva).
- PC-re rádugod, ekkor kap csak tápot (igaz ez a külső tápra is!)
- Arduino keretrendszerben a BLINK-et töltöd fel rá.
-> a File-Settings / File-Beállítások alatt a "Log mutatása fordításkor, feltöltéáskor: Mindkettő előtt legyen pipa!
- a fordítás megtörténte után kiírja pirossal, hogy a feltöltés indul (AVRDUDE.... kezdetű sor, ez előtt van a lefordított HEX mérete, szabad memória, stb)
- RESETgombot _csak ekkor_ engeded fel.
- Feltöltés végigmegy, mert az első STK500 feltöltési próbálkozást engedi és csak utána fut a bootloader tiltásra!

Talán egyszerűbb, mint programozóval a chipet újraprogramozni, és esetleg végleg kizárni...
http://www.tavir.hu - a gazda :)
Bagizo
Újonc
Újonc
Hozzászólások: 8
Csatlakozott: 2020. március 30. hétfő, 11:20

Re: WtchDog Arduino nano

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

Szia!

Bocs a késői köszönetnyilvánításért, de valamiért nem értesít a fórum semmiről, így nem vettem észre a válaszodat. Néhány napja már feltűnt a dolog, és elkezdtem keresni az okát. Úgy tűnik minden témára külön fel kell iratkozni, és ezt nem vettem észre, vagy valami változott a fórum működésében!? Azt sem találom, hogy az email címemet hol tudom beállítani. Nemrég változott az email címem, ezért újra feliratkoztam egy másik felhasználó névvel. Valami nem stimmel, mert ez régebben mintha másként lett volna. Vagy nagyon megöregedtem :) !

Bocsi, de nem értem! Ezek szerint a gyárilag szerelt old bootloader gyári alap beállításban nem engedi működni a watcdog-ot? Mert nagyjából azt értettem meg abból amit leírtál, ha a watchdog indítja újra a chip-et, akkor nem indítja újra a programot! A kiütést sem értem, mit csinál ez a reset gombos varázslás? Mondjuk most éppen nincs már old bootloaderes nano-m, hogy kipróbáljam, de ha veszek legközelebb, akkor megnézem amit írtál. Hol találtál erre a "kiütés" megoldásra dokumentációt?
Megnéztem a Arduino IDE-ben a file/beállítások panelt. Nem látok benne olyan pipálási lehetőséget amit írsz. 1.8.12 verziót használok. Rossz helyen nézem?

Köszi!

Bagi
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: WtchDog Arduino nano

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

Az Arduino filozófiája miatt van így. Az UNO booptloaderből ezt már kivették.


https://github.com/Optiboot/optiboot/issues/97

https://learn.adafruit.com/arduino-tips ... bootloader
http://www.tavir.hu - a gazda :)
Bagizo
Újonc
Újonc
Hozzászólások: 8
Csatlakozott: 2020. március 30. hétfő, 11:20

Re: WtchDog Arduino nano

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

Köszi! Megpróbálom megérteni.
Válasz küldése