www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

POWERON RESET vsv tipka reset
Pojdi na stran 1, 2, 3  Naslednja
 
Objavi novo temo   Ta tema je zaklenjena: ne moreš urejati sporočil ali odgovarjati na objave.   Printer-friendly version    www.elektronik.si Seznam forumov -> Elektronika
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
vilko
Član
Član



Pridružen-a: Pet 13 Feb 2004 10:26
Prispevkov: 3360
Aktiv.: 14.18
Kraj: Dragomer

PrispevekObjavljeno: Tor Jan 01, 2013 12:17 pm    Naslov sporočila:  POWERON RESET vsv tipka reset Odgovori s citatom

Novo leto, in novi zapleti z mojim atmelom.

Atmel se drugače obnaša, v kolikor izklopim in ponovno vklopim na napetost, in drugače, če pritisnem tipko reset.
Če pritisnem tipko reset, dela tako, kot sem programiral,
Če pa naredim izklop-vklop 220VAC pa začne, kot sem programiral, a kasneje zabluzi.

Prilagam izpis monitorja pri enem in drugem slučaju:

Tole je v redu po tipki reset:

Koda:
12 Reset.
 Priklop GSM-a in termometrov, wait 5.
 Nadaljujemo.
Telefoni:
1 0038641988440
2 0000000000000
3 0000000000000
4 0000000000000
5 0000000000000
6 0000000000000
7 0000000000000
8 0000000000000
9 0000000000000
10 0000000000000
 
in tole po izklop-vklop 220vac

Koda:
<0> 12 Reset.
 Priklop GSM-a in termometrov, wait 5.
 Nadaljujemo.
<0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0>


Imate, kako idejo, kje izkati črva?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
silvo_v
Član
Član



Pridružen-a: Pon 11 Jul 2005 22:00
Prispevkov: 146
Aktiv.: 0.62
Kraj: Domžale

PrispevekObjavljeno: Tor Jan 01, 2013 12:34 pm    Naslov sporočila:   Odgovori s citatom

Vrednosti spremenljivk v RAM-u po resetu ostanejo nespremenjene, za razliko od izklopa napajanja.

Zato je po resetu potrebno pobrisati RAM, ali pa inicializirati spremenljivke, zaradi katerih prihaja do težav.

Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
vilko
Član
Član



Pridružen-a: Pet 13 Feb 2004 10:26
Prispevkov: 3360
Aktiv.: 14.18
Kraj: Dragomer

PrispevekObjavljeno: Tor Jan 01, 2013 12:46 pm    Naslov sporočila:   Odgovori s citatom

Hmm, bom seveda iskal tudi v tej smeri.
Toda izrecno v ta namen ima Bascom ukaz
Koda:
$noramclear
, ker sicer ima predvideno brisanje rama za vsak reset.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
protoncek
Član
Član



Pridružen-a: Sre 31 Jan 2007 9:41
Prispevkov: 9573
Aktiv.: 42.79
Kraj: Mengeš

PrispevekObjavljeno: Tor Jan 01, 2013 3:38 pm    Naslov sporočila:   Odgovori s citatom

Bascom po mojem znanju itak vse spremenljivke v ukazu dim privzeto postavi na nulo, tako da posebej določanje ni potrebno, razen če imamo na začetku omenjeni ukaz $noramclear, ja. Potem teoretično obdrži vredosti. Pojavi pa se vprašanje, kaj naredi, če ta ukaz obstaja, pa pride do izpada napajanja lahko da jih v tem primeru NE postavlja na nič, kar pomeni čudne vrednosti spremenljivk. Poskusi kaj v tej smeri. Avr ne ve, kakšnega tipa je reset, torej bi moral kaj čarati v tej smeri.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
gumby
Član
Član



Pridružen-a: Sob 28 Apr 2007 12:32
Prispevkov: 4066
Aktiv.: 18.41

PrispevekObjavljeno: Tor Jan 01, 2013 3:58 pm    Naslov sporočila:   Odgovori s citatom

Nekaj je hudo narobe s programom, če tip reseta vpliva na to...
In nima nobene veze, če na začetku postavi spremenljivke na 0 ali ne. Zanašati se na to je itak naravnost briljantna ideja Very Happy

_________________
Tule nisem več aktiven.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
protoncek
Član
Član



Pridružen-a: Sre 31 Jan 2007 9:41
Prispevkov: 9573
Aktiv.: 42.79
Kraj: Mengeš

PrispevekObjavljeno: Tor Jan 01, 2013 4:16 pm    Naslov sporočila:   Odgovori s citatom

Zakaj? Veliko kompilerjev višjega nivoja imajo definirano vrednost novo dimenzionirane spremenljivke, ponavadi nič. Problem nastane, kot sem rekel, če mu rečeš da naj obdrži staro vrednost...sicer jaz raje delam z eepromom kot s noramclear, če je le možno.
Tip reseta vpliva toliko da reset s tipko obdrži ram tak, kot je, power-off pa ...
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14673
Aktiv.: 61.93
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Tor Jan 01, 2013 5:00 pm    Naslov sporočila:   Odgovori s citatom

gumby je napisal/a:
Nekaj je hudo narobe s programom, če tip reseta vpliva na to...
In nima nobene veze, če na začetku postavi spremenljivke na 0 ali ne. Zanašati se na to je itak naravnost briljantna ideja Very Happy


Tako je. Reset vektor je vedno na lokcaiji 0x0 ne glede na to, kako je bil reset izveden. Program se vedno začne tam. Vrednosti v SRAMU oz. v registrih so ob resetu nedefinirane. Torej nekaj jemati tam ven preden tja pride pravi podatek je velika napaka. Vrsto reseta sicer lahko določiš s postavljenimi zastavicami MCUCSR registra, a same zastavice ne spreminjajo toka programa. (to morda lahko počne koda v kakem višjenivojskem jeziku)

_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
protoncek
Član
Član



Pridružen-a: Sre 31 Jan 2007 9:41
Prispevkov: 9573
Aktiv.: 42.79
Kraj: Mengeš

PrispevekObjavljeno: Tor Jan 01, 2013 7:32 pm    Naslov sporočila:   Odgovori s citatom

Citat iz pomoči bascoma:
Koda:
Normally the SRAM is cleared in the initialization code. When you don't want the SRAM to be cleared(set to 0) you can use this directive.

Because all variables are automatically set to 0 or ""(strings) without the $NORAMCLEAR, using $NORAMCLEAR will set the variables to an unknown value. That is, the variables will probably set to FF but you cannot count on it.


Torej, bascom postavi samodejno vse spremenljivke na nulo ob ODSOTNOSTI omenjenega ukaza, sicer pa ne. Omenjeno je tudi opozorilo glede nedefiniranega stanja ob power-on resetu.

HELP pa omeni tudi tole:
Koda:
 
When you have a battery back upped circuit, you do not want to clear the RAM at start up. So that would be a situation when you could use $NORAMCLEAR.


torej, zadeva ni namenjena resetu v primeru odsotnosti napajanja ampak samo primerom, kjer avr pošljemo spat ali kaj podobnega... (beri imamo na voljo rezervno napajanje).
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14673
Aktiv.: 61.93
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Tor Jan 01, 2013 7:47 pm    Naslov sporočila:   Odgovori s citatom

To nima nobene veze s težavo, ki jo ima Vilko. Pravzaprav sploh ni važno kako programsko okolje je uporabljeno. Arhitektura mikrokontrolerja je anaka. Če so v programu uporabljene konstantne vrednosti, se te prenesejo v registre oz SRAM iz programskega pomnilnika. Če gre za spremenjive vrednosti je te vrednosti potrebno pač dati v eeprom. Ob inicializaciji - torej resetu pa te vrednosti prebrati v SRAM oz registre. Programsko je potrebno tudi predvidet prevzete vrednosti, v koliko so slučajno shranjene vrednosti izven mej. (recimo stanje v eepromu preden so vrednosti sploh shranjene, oz ob morebitnem "zrušenem" eepromu)
_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
protoncek
Član
Član



Pridružen-a: Sre 31 Jan 2007 9:41
Prispevkov: 9573
Aktiv.: 42.79
Kraj: Mengeš

PrispevekObjavljeno: Tor Jan 01, 2013 8:47 pm    Naslov sporočila:   Odgovori s citatom

Hja, lahko da ima veze...Namreč, kolikor je znano on NE shrani spremenljivk v EEPROM, kar ob resetu povzroči kaos. Zelo hitro spreminjajoče spremenljivke je težko shranjevati v EEPROM, saj bi ga uničil zelo hitro. V takem primeru bi bilo bolje uporabiti zunanji EEPROM ali RAm z baterijsko podporo.
Problem leži ravno v tem, da se privzete vrednosti NE definirajo, saj naj bi se ohranile trenutne.
Mislim da je tukaj rešitev v preprečitvi reseta na sploh ali pa v uporabi zunanjega spomina za kritične spremenljivke. Jaz za merilnik nivoja nafte npr. kritične spremenljivke shranjujem v RAM čipa DS1307 (RTC) in ker ima ta baterijsko podporo, sem zmagal. Ob resetu jih enostavno preberem od tam, pa je.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
gumby
Član
Član



Pridružen-a: Sob 28 Apr 2007 12:32
Prispevkov: 4066
Aktiv.: 18.41

PrispevekObjavljeno: Tor Jan 01, 2013 8:55 pm    Naslov sporočila:  Re: POWERON RESET vsv tipka reset Odgovori s citatom

Pusti zdaj zunanji pomnilnik...
vilko je napisal/a:
Atmel se drugače obnaša, v kolikor izklopim in ponovno vklopim na napetost, in drugače, če pritisnem tipko reset.

_________________
Tule nisem več aktiven.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14673
Aktiv.: 61.93
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Tor Jan 01, 2013 9:31 pm    Naslov sporočila:   Odgovori s citatom

protoncek,
Ne pozaš aritekture mikrokontrolerja, zato se s tabo ne da priti do konca.
Tako, da tvojih sporočil ne bom več komentiral.

Vilko,
Bascoma ne pozam, ampak mikrokontroler se popolnoma enako obnaša bilo katero programsko orodje uporabiš. AVR-ji imajo 32 splošno namenskih registrov, Koliko je SRAM-a zavisi od samega mikrokontrolerja. SRAM se uporablja tudi za sklad.
Vrednosti v SRAMU oz v registrih so po resetu nedefinirane. V inicializacijski rutini zato ne smeš jemati iz rama niti iz registrov vrednosti katere niso bile pred tem določene. Med resetom s tipko oz power on resetom ni nobene razlike. . Po kakeršnem koli resteu se začne program odvijati na lokaciji 0x0. V obeh primerih so vrednosti v omenjenem pomniliku nedefinirane. V tvojem primeru je zelo verjetno, da ena rutina spreminja tok programa takoj v reset rutini. To se lahko naredi s kontrolo zastavic WDRF, BORF, EXTRF, PORF registra MCUCSR. Slednji dve se postavljata od zunanjem oz power on resetu.

_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
protoncek
Član
Član



Pridružen-a: Sre 31 Jan 2007 9:41
Prispevkov: 9573
Aktiv.: 42.79
Kraj: Mengeš

PrispevekObjavljeno: Tor Jan 01, 2013 9:54 pm    Naslov sporočila:   Odgovori s citatom

Res je, definitvno ne toliko kot ti. Samo dejstvo ostaja, da ob uporabi ukaza noramclear vse spremenljivke ostanejo nedotaknjene, torej jih v tem primeru AVR NE spreminja. Seveda govorim o resetu brez izgube napajanja. Kako bascom (ali AVR) to izvede ne vem, vem samo da deluje.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
vilko
Član
Član



Pridružen-a: Pet 13 Feb 2004 10:26
Prispevkov: 3360
Aktiv.: 14.18
Kraj: Dragomer

PrispevekObjavljeno: Tor Jan 01, 2013 9:56 pm    Naslov sporočila:   Odgovori s citatom

Ni torej nobene dobre razlage za moj problem, ki se je pojavil sedaj prvič v moji praksi.

Rekel bi, da moram pogledat druga vezja, ki so še na tiskanem vezju, in bi lahko interferirale pri poweron, med tem, ko pri tipki reset ne interferirajo.

Bom javil, kaj bom našel.Danes se s problemom nisem več ukvarjal.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
int47
Član
Član



Pridružen-a: Pon 15 Dec 2003 0:10
Prispevkov: 2104
Aktiv.: 8.88
Kraj: Ljubljana

PrispevekObjavljeno: Tor Jan 01, 2013 11:15 pm    Naslov sporočila:   Odgovori s citatom

Kateri uC, kakšni so fuse biti, napajalna napetost, kam je vezan RESET, uporabljaš zunanji kristal?
Kakšen je program ?

Možna je tudi HW težava. V mojem primeru je šlo za baterijsko napajano napravo. Vezje z uC je imelo zelo majhno porabo, zato se je občasno zgodilo, da napajalna napetost zaradi kondenzatorja v napajanju ni dovolj upadla, da bi power on reset uC zbudil iz režima izklopa.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Ta tema je zaklenjena: ne moreš urejati sporočil ali odgovarjati na objave.   Printer-friendly version    www.elektronik.si Seznam forumov -> Elektronika Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran 1, 2, 3  Naslednja
Stran 1 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
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 493 dni


Powered by phpBB © 2001, 2005 phpBB Group