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
WtchDog Arduino nano
Re: WtchDog Arduino nano
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
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
Re: WtchDog Arduino nano
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...
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
Re: WtchDog Arduino nano
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
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
Re: WtchDog Arduino nano
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
https://github.com/Optiboot/optiboot/issues/97
https://learn.adafruit.com/arduino-tips ... bootloader
http://www.tavir.hu - a gazda
Re: WtchDog Arduino nano
Köszi! Megpróbálom megérteni.