Kazalo po Svet elektronike forumu Svet elektronike
Revija za prave elektronike
 
AlbumAlbum   Pomoč pogostih vprašanjPomoč pogostih vprašanj   IščiIšči   Seznam članovSeznam članov   Skupine uporabnikovSkupine uporabnikov   Registriraj seRegistriraj se 
 Tvoj profilTvoj profil   Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil   PrijavaPrijava 

Watchdog timer pri AVR mikrokontrolerjih
Pojdi na stran Prejšnja  1, 2, 3  Naslednja
 
Objavi novo temo   Odgovori na to temo    Kazalo po Svet elektronike forumu -> Download
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
stursc
Profesionalec


Pridružen/-a: Pet Feb 2005 14:50
Prispevkov: 109
Kraj: Ravne

PrispevekObjavljeno: Čet Jan 17, 2013 10:22 am    Naslov sporočila: Odgovori s citatom

Vilko, hvala lepa. To je pa že uporabno, žal, problema pa ne rešuje.
Glede na to, da imam na voljo 3 uC-je, izključujem napako na uC.
Če imate na voljo kak čip preverite delovanje watchdog timerja.
Res me zanima v čemu je problem, glede na to, da vse druga deluje normalno. Imam namreč 22Kb programa in ne opažam problemov, razem uporabe watchdog timerja.


LP, stursc
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
vilko
Profesionalec


Pridružen/-a: Pon Jan 2004 11:54
Prispevkov: 805
Kraj: Ljubljana

PrispevekObjavljeno: Čet Jan 17, 2013 11:33 am    Naslov sporočila: Odgovori s citatom

Testiram sledeč program na Minipin plošči z atmega adapterjem

Koda:
' Testirano na Minipin plošči z Mega16 adapterjem

$regfile = "m644pdef.dat"
$hwstack = 128
$swstack = 128
$framesize = 128

$crystal = 11059200                                         '
$baud = 19200

Config Watchdog = 2048
Start Watchdog
Reset Watchdog

Open "coma.7:9600,8,n,1" For Output As #2                   'izhod na A7 - pin 10 konektorja
Print #2 , "Reset"


Do
Print #2 ,"start"
Wait 1
Reset Watchdog
Print #2 ,"po eni sekundi"
Wait 3
Print #2 ,"po treh sekundah"
Reset Watchdog
Loop

End
Close #2


in dobim na terminalu:

Citiram:
Reset
start
po eni sekundi
Reset
start
po eni sekundi
Reset
start
po eni sekundi


Kar se mi vidi pravilno.
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
vilko
Profesionalec


Pridružen/-a: Pon Jan 2004 11:54
Prispevkov: 805
Kraj: Ljubljana

PrispevekObjavljeno: Čet Jan 17, 2013 11:41 am    Naslov sporočila: Odgovori s citatom

Poizkusi, s kakšnim popolnoma drugim čipom, recimo atmega16, ki je pin kompatibilen.
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
vilko
Profesionalec


Pridružen/-a: Pon Jan 2004 11:54
Prispevkov: 805
Kraj: Ljubljana

PrispevekObjavljeno: Čet Jan 17, 2013 11:42 am    Naslov sporočila: Odgovori s citatom

Katero verzijo bascoma uporabljaš.
Tudi jaz imam zelo staro verzijo, 2.0.1.0
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
vilko
Profesionalec


Pridružen/-a: Pon Jan 2004 11:54
Prispevkov: 805
Kraj: Ljubljana

PrispevekObjavljeno: Čet Jan 17, 2013 11:45 am    Naslov sporočila: Odgovori s citatom

Potem prenesi zadevo na kako drugo vezje, recimo Minipin, ča ga imaš in testiraj tam.

Ha, to me spominja na star vic, ki smo si ga pravili, ko sem bil še v službi IBM predstavništva:
Kako prepoznaš IBM servisnega tehnika na cesti?
Če ima na cesti gumidefekt recimo na desnem prednjem kolesu, tedaj zamenja med seboj levo in desno kolo in opazuje, ali se je defekt prenesel na drugo stran.
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
stursc
Profesionalec


Pridružen/-a: Pet Feb 2005 14:50
Prispevkov: 109
Kraj: Ravne

PrispevekObjavljeno: Čet Jan 17, 2013 11:57 am    Naslov sporočila: Odgovori s citatom

vilko je napisal/a:
Testiram sledeč program na Minipin plošči z atmega adapterjem

Koda:
' Testirano na Minipin plošči z Mega16 adapterjem

$regfile = "m644pdef.dat"
$hwstack = 128
$swstack = 128
$framesize = 128

$crystal = 11059200                                         '
$baud = 19200

Config Watchdog = 2048
Start Watchdog
Reset Watchdog

Open "coma.7:9600,8,n,1" For Output As #2                   'izhod na A7 - pin 10 konektorja
Print #2 , "Reset"


Do
Print #2 ,"start"
Wait 1
Reset Watchdog
Wait 3

Loop

End
Close #2


in dobim na terminalu:

Citiram:
Reset
start
po eni sekundi
Reset
start
po eni sekundi
Reset
start
po eni sekundi


Kar se mi vidi pravilno.



Ja, Vilko, tako je vse prav. poskusite, kot sem popravil v DO ...LOOP zanki. ko se bo vklopil čez 2s watchdog timer, se bi moral uC restartat, kar se pri meni ne!
Torej mora naredti enako, kot bi pritisnil reset tipko, da se ponovno zažene.
Tukaj je pri meni problem, ker uC naredi kot na komando POWERDOWN (pade v komo).

Trenutno še ne vidim rešitve


LP, stursc
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
vilko
Profesionalec


Pridružen/-a: Pon Jan 2004 11:54
Prispevkov: 805
Kraj: Ljubljana

PrispevekObjavljeno: Čet Jan 17, 2013 12:03 pm    Naslov sporočila: Odgovori s citatom

stursc je napisal/a:
poskusite, kot sem popravil v DO ...LOOP zanki. ko se bo vklopil čez 2s watchdog timer, se bi moral uC restartat, kar se pri meni ne!


Ne razumem, kako naj poizkusim?
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
stursc
Profesionalec


Pridružen/-a: Pet Feb 2005 14:50
Prispevkov: 109
Kraj: Ravne

PrispevekObjavljeno: Čet Jan 17, 2013 2:39 pm    Naslov sporočila: Odgovori s citatom

Vilko, v prilogi je testni program. prosi testirajte .
Ugotovil sem kje se pojavi napaka ! Ne vidim pa rešitve
V glavi programa je malo komentarja.
Zanimajo me rezultati in mnenje za rešitev

LP, stursc
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
Vlado
Profesionalec


Pridružen/-a: Ned Jan 2004 16:11
Prispevkov: 555
Kraj: Ljubljana

PrispevekObjavljeno: Čet Jan 17, 2013 7:29 pm    Naslov sporočila: Odgovori s citatom

Stursc,
tudi tvoja koda deluje tako kot mora!
Spraševal sem te katero različico Bascoma uporabljaš?
Kateri programator uporabljaš?

Poskusi še tole:
preden startaš WDT dopiši tole vrstico:

print #2 , bin(wdtcsr) in poročaj kaj ti izpiše (moralo bi biti &B00001111)

LP
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
Vlado
Profesionalec


Pridružen/-a: Ned Jan 2004 16:11
Prispevkov: 555
Kraj: Ljubljana

PrispevekObjavljeno: Čet Jan 17, 2013 7:46 pm    Naslov sporočila: Odgovori s citatom

Stursc,
preizkusil sem tvoj primer, vendar ker ne delam na MiniPin-u sem moral spremeniti porte.
Verjetna napaka v tvojem programu je:
Uporabil si PinD.7 za vhod, v podprogramu celoten port postavljaš na visok in nizek nivo.
Če v tvojem vezju ni zunanjega pull up upora ti pin d.7 ne bo deloval kot vhod ko ga postaviš na nizek nivo!
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
stursc
Profesionalec


Pridružen/-a: Pet Feb 2005 14:50
Prispevkov: 109
Kraj: Ravne

PrispevekObjavljeno: Čet Jan 17, 2013 9:27 pm    Naslov sporočila: Odgovori s citatom

Vlado je napisal/a:
Stursc,
preizkusil sem tvoj primer, vendar ker ne delam na MiniPin-u sem moral spremeniti porte.
Verjetna napaka v tvojem programu je:
Uporabil si PinD.7 za vhod, v podprogramu celoten port postavljaš na visok in nizek nivo.
Če v tvojem vezju ni zunanjega pull up upora ti pin d.7 ne bo deloval kot vhod ko ga postaviš na nizek nivo!


Vsi hitro tetsiramo, ne gledamo pa pa " drobnega tiska"
Napisal sem sicer Vilkotu, ampak :
V glavi testnega programa sem navedel, v samem programu so pa izklopljeni ukazi zaradi katerih WDT ne deluje (oziroma uC).
Torej, če vklopim ukaz za brisanje LCD-ja ali pisanje na LCD, se po restartu (vklopu WDT-imerja) uc "ne postavi več na noge".
Moral bi se restartat, kot se doslej vsi drugi Atmeli. Sicer to lepo naredi, če ne uporabim ukaza za LCD (če je še kak tak ukaz, ki onemogoči WDT, nevem, nisem naletel nanj, tokrat le na omenjene.
Izbira pinov ni tako kot navajaš, lahko jih menjaš po volji, če hočeš tetsirat
Tisti ukaz: print #2 , bin(wdtcsr) in poročaj kaj ti izpiše (moralo bi biti &B00001111) - print je tak kot ga omenjaš.
Programator imam HV&ISP, Bascom je pa 11.9
Torej WDT deluje dokler, da pride do ukaze za LCD izpis ali brisanje. Samo konfiguriraje LCD in postavitev pinov ne vpliva. Program normalno deluje dokler, da vklopiš kateri ukaz iz zelenega tiska.

Če sem bil bolj razumljiv, nevem ?

LP, stursc
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
Vlado
Profesionalec


Pridružen/-a: Ned Jan 2004 16:11
Prispevkov: 555
Kraj: Ljubljana

PrispevekObjavljeno: Čet Jan 17, 2013 9:56 pm    Naslov sporočila: Odgovori s citatom

Stursc,

Citiram:
Če sem bil bolj razumljiv, nevem ?


Poskušamo ti pomagati, in neč drugega!

Vse tvoje primere sem preizkusil, kot tudi nekaj svojih in WDT deluje tako kot mora.
Kako je s to staro različico Bascoma pa ne vem. Zakaj ne snameš novejšo različico?
WDT in ukazi za LCD nimajo nobene zveze.
Preveri svojo ploščico, poglej kaj se zgodi z napajanjem ko procesor izvisi.

LP
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
vilko
Profesionalec


Pridružen/-a: Pon Jan 2004 11:54
Prispevkov: 805
Kraj: Ljubljana

PrispevekObjavljeno: Pet Jan 18, 2013 8:51 am    Naslov sporočila: Odgovori s citatom

Tvoj program sem pognal.
Ker mi pa indikacije ledic na povedo mnogo, sem dodal uart izhod na terminal.
spremenjen program prilagam.

Kot je videti na terminalu, program in wd, delata tako, kot treba.

Citiram:
sekunda
sekunda
Gremo v wait 3!
Reset
sekunda
sekunda
sekunda
sekunda
sekunda
sekunda
sekunda
sekunda
sekunda
sekunda
Gremo v wait 3!
Reset
sekunda
sekunda
sekunda

Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
stursc
Profesionalec


Pridružen/-a: Pet Feb 2005 14:50
Prispevkov: 109
Kraj: Ravne

PrispevekObjavljeno: Pet Jan 18, 2013 8:53 am    Naslov sporočila: Odgovori s citatom

Vlado je napisal/a:
Stursc,

Citiram:
Če sem bil bolj razumljiv, nevem ?


Poskušamo ti pomagati, in neč drugega!

Vse tvoje primere sem preizkusil, kot tudi nekaj svojih in WDT deluje tako kot mora.
Kako je s to staro različico Bascoma pa ne vem. Zakaj ne snameš novejšo različico?
WDT in ukazi za LCD nimajo nobene zveze.
Preveri svojo ploščico, poglej kaj se zgodi z napajanjem ko procesor izvisi.

LP


Vlado, prosim, če v moji prilogi vključiš vse ukaze za LCD, ki so izključeni (zeleni text), narediš .hex in mi pošlješ za test.
Vse kar navajaš okrog napajanja in ostalo je OK. Vsi ostali Atmeli delujejo normalno z istim programom (m8,M16,m32), tudi na M644P je vse OK do uporabe ukaza CLS ali LCD " TEST"
Iščem vzrok ne pa nujo, da potrebujem WDT.


LP, stursc
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
vilko
Profesionalec


Pridružen/-a: Pon Jan 2004 11:54
Prispevkov: 805
Kraj: Ljubljana

PrispevekObjavljeno: Pet Jan 18, 2013 9:04 am    Naslov sporočila: Odgovori s citatom

V tvojem programu z dodanim uartom, sem aktiviral ukaze za LCD, in reazulta je isti. Lcd-a pa nimam, da bi ga dal gor.
Ne uporabljam več lcd-jev, mi daj preprosto premalo informacij.

Kaj pa če imaš defekten LCD ki kaj blokira v tvojem vezju?
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo    Kazalo po Svet elektronike forumu -> Download Časovni pas GMT + 1 ura, srednjeevropski - zimski čas
Pojdi na stran Prejšnja  1, 2, 3  Naslednja
Stran 2 od 3

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
You cannot attach files in this forum
You cannot download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group