|
Svet elektronike Revija za prave elektronike
|
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
stursc Profesionalec
Pridružen/-a: Pet Feb 2005 14:50 Prispevkov: 109 Kraj: Ravne
|
Objavljeno: Čet Jan 17, 2013 10:22 am Naslov sporočila: |
|
|
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 |
|
|
vilko Profesionalec
Pridružen/-a: Pon Jan 2004 11:54 Prispevkov: 807 Kraj: Ljubljana
|
Objavljeno: Čet Jan 17, 2013 11:33 am Naslov sporočila: |
|
|
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 |
|
|
vilko Profesionalec
Pridružen/-a: Pon Jan 2004 11:54 Prispevkov: 807 Kraj: Ljubljana
|
Objavljeno: Čet Jan 17, 2013 11:41 am Naslov sporočila: |
|
|
Poizkusi, s kakšnim popolnoma drugim čipom, recimo atmega16, ki je pin kompatibilen. |
|
Nazaj na vrh |
|
|
vilko Profesionalec
Pridružen/-a: Pon Jan 2004 11:54 Prispevkov: 807 Kraj: Ljubljana
|
Objavljeno: Čet Jan 17, 2013 11:42 am Naslov sporočila: |
|
|
Katero verzijo bascoma uporabljaš.
Tudi jaz imam zelo staro verzijo, 2.0.1.0 |
|
Nazaj na vrh |
|
|
vilko Profesionalec
Pridružen/-a: Pon Jan 2004 11:54 Prispevkov: 807 Kraj: Ljubljana
|
Objavljeno: Čet Jan 17, 2013 11:45 am Naslov sporočila: |
|
|
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 |
|
|
stursc Profesionalec
Pridružen/-a: Pet Feb 2005 14:50 Prispevkov: 109 Kraj: Ravne
|
Objavljeno: Čet Jan 17, 2013 11:57 am Naslov sporočila: |
|
|
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 |
|
|
vilko Profesionalec
Pridružen/-a: Pon Jan 2004 11:54 Prispevkov: 807 Kraj: Ljubljana
|
Objavljeno: Čet Jan 17, 2013 12:03 pm Naslov sporočila: |
|
|
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 |
|
|
stursc Profesionalec
Pridružen/-a: Pet Feb 2005 14:50 Prispevkov: 109 Kraj: Ravne
|
Objavljeno: Čet Jan 17, 2013 2:39 pm Naslov sporočila: |
|
|
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 |
|
|
Vlado Profesionalec
Pridružen/-a: Ned Jan 2004 16:11 Prispevkov: 556 Kraj: Ljubljana
|
Objavljeno: Čet Jan 17, 2013 7:29 pm Naslov sporočila: |
|
|
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 |
|
|
Vlado Profesionalec
Pridružen/-a: Ned Jan 2004 16:11 Prispevkov: 556 Kraj: Ljubljana
|
Objavljeno: Čet Jan 17, 2013 7:46 pm Naslov sporočila: |
|
|
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 |
|
|
stursc Profesionalec
Pridružen/-a: Pet Feb 2005 14:50 Prispevkov: 109 Kraj: Ravne
|
Objavljeno: Čet Jan 17, 2013 9:27 pm Naslov sporočila: |
|
|
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 |
|
|
Vlado Profesionalec
Pridružen/-a: Ned Jan 2004 16:11 Prispevkov: 556 Kraj: Ljubljana
|
Objavljeno: Čet Jan 17, 2013 9:56 pm Naslov sporočila: |
|
|
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 |
|
|
vilko Profesionalec
Pridružen/-a: Pon Jan 2004 11:54 Prispevkov: 807 Kraj: Ljubljana
|
Objavljeno: Pet Jan 18, 2013 8:51 am Naslov sporočila: |
|
|
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 |
|
|
stursc Profesionalec
Pridružen/-a: Pet Feb 2005 14:50 Prispevkov: 109 Kraj: Ravne
|
Objavljeno: Pet Jan 18, 2013 8:53 am Naslov sporočila: |
|
|
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 |
|
|
vilko Profesionalec
Pridružen/-a: Pon Jan 2004 11:54 Prispevkov: 807 Kraj: Ljubljana
|
Objavljeno: Pet Jan 18, 2013 9:04 am Naslov sporočila: |
|
|
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 |
|
|
|
|
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
|