Elektronika.lt
 2024 m. lapkričio 26 d. Projektas | Reklama | Žinokite | Klausimai | Prisidėkite | Atsiliepimai | Kontaktai
Paieška portale
EN Facebook RSS

 Kas naujo  Katalogas  Parduotuvės  Forumas  Tinklaraščiai
 Pirmas puslapisSąrašas
 Forumas / + pokalbiai
 - Paieška forume
 - D.U.K. / Forumo taisyklės
 - Narių sąrašas
 - Registruotis
 - Prisijungti

Elektronika.lt portalo forumas

Jūs esate neprisijungęs lankytojas. Norint dalyvauti diskusijose, būtina užsiregistruoti ir prisijungti prie forumo. Prisijungę galėsite kurti naujas temas, atsakyti į kitų užduotus klausimus, balsuoti forumo apklausose.

Administracija pasilieka teisę pašalinti pasisakymus bei dalyvius, kurie nesilaiko forumo taisyklių. Pastebėjus nusižengimus, prašome pranešti.

Dabar yra 2024 11 26, 04:39. Visos datos yra GMT + 2 valandos.
 Forumas » Mikrovaldikliai » WDT ant mega644. Gal turit ideju?
Jūs negalite rašyti naujų pranešimų į šį forumą
Jūs negalite atsakinėti į pranešimus šiame forume
Jūs negalite redaguoti savo pranešimų šiame forume
Jūs negalite ištrinti savo pranešimų šiame forume
Jūs negalite dalyvauti apklausose šiame forume
 
  
Puslapis 11
Pradėti naują temą  Atsakyti į pranešimą Rodyti ankstesnį pranešimą :: Rodyti kitą pranešimą 
 WDT ant mega644. Gal turit ideju?
PranešimasParašytas: 2009 10 20, 12:48 Pranešti apie taisyklių pažeidimą Atsakyti su citata
JOnis
VIP narys
VIP narys
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Apsilankyti vartotojo tinklapyje
Su wdt ant ivairiu procu jokiu problemu, su mega128 ar 32 irgi, bet su 644 niekaip negaliu priverst dirbt. Kai tik ijungi wdt, procas komoi iki nuimsi maitinima. Net perziurejau IARo headerius pagal pdf, klaidos nera. Darau pagal gamintojo rekomendacija:

__disable_interrupt();
__watchdog_reset();
/* Start timed equence */
WDTCSR |= (1<<WDCE) | (1<<WDE);
/* Set new prescaler(time-out) value = 64K cycles (~0.5 s) */
WDTCSR = (1<<WDE) | (1<<WDP2) | (1<<WDP0);
__enable_interrupt();

Keiciant laika ar ka manipuliuojant - rezultatas tas pats. Uztenka vienos eilutes WDTCSR |= (1<<WDCE) | (1<<WDE); kad ivest i koma. Eksperimentui padariau ijungima ir iskart isjungima pagal pdf:

__watchdog_reset();
/* Start timed equence */
WDTCSR |= (1<<WDCE) | (1<<WDE);
/* Set new prescaler(time-out) value = 64K cycles (~0.5 s) */
WDTCSR = (1<<WDE) | (1<<WDP2) | (1<<WDP0);
__watchdog_reset();
/* Clear WDRF in
MCUSR &= ~(1<<WDRF);
/* Write logical
/* Keep old prescaler
WDTCSR |= (1<<WDCE)
/* Turn off WDT */
WDTCSR = 0x00;

- koma

Ziurejau, praeina visos eilutes, bet kur jis nukeliauja tpliau - velnias zino
Ir ten toli sedi iki nuimsi maista, net isorinis resetas nepadeda
 WDT ant mega644. Gal turit ideju?
PranešimasParašytas: 2009 10 20, 14:52 Pranešti apie taisyklių pažeidimą Atsakyti su citata
R2D2
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
o hfuse keitei?

arba gal atjungiant įvyksta interuptas, kuris nėra aprašytas, jo vykdymas nušoka arba pradžion (nežinau kaip IAR kompiliuoja) arba bala žino kur ir taip viskas užsisuka.

be to eilutę ne taip nukopinai:
/* Keep old prescaler setting to prevent unintentional time-out */
WDTCSR |= (1<<WDCE) | (1<<WDE);

sėkmės
 WDT ant mega644. Gal turit ideju?
PranešimasParašytas: 2009 10 20, 15:09 Pranešti apie taisyklių pažeidimą Atsakyti su citata
JOnis
VIP narys
VIP narys
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Apsilankyti vartotojo tinklapyje
Isjungimas fignia, veliau iki jo prieisim Smile
Po papildomu eksperimentu isvedinedamas lygi i viena koja issiaiskinau kad eina pastovus resetas su 30mS periodu. Pagal viska nesikeicia preskalerio reiksme. Procas pradeda inicializuot periferija ir wdt jam vel duoda i galva. Kas keisciausia, tai pirmose maino eilutese irasius
WDTCSR &= ~(1<<WDCE);
MCUSR &= ~(1<<WDRF);
nepadeda, is amzino reseto islipa tik jei isjungi maista. WDT ijungima ir preskalerio keitima darau gerokai toliau kode, uz kokiu dvieju sekundziu, tad keista kad jis "prilimpa" Juk po reseto turetu issijungt iki vel ji ijungsi. Yra bitas kai leidi ne sistemini reseta o inerupta, tai net nesant int apdoroklio nesiresetina
Sukompilinus ta pati projekta ant mega128 suo veikia kaip priklauso
 WDT ant mega644. Gal turit ideju?
PranešimasParašytas: 2009 10 20, 17:30 Pranešti apie taisyklių pažeidimą Atsakyti su citata
R2D2
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
tai priskeileris ir nesikeis

WDTCSR = (1<<WDE) | (1<<WDP2) | (1<<WDP0);

čia dar reikia tą change enable užmest:

WDTCSR = (1<<WDE) | (1<<WDP2) | (1<<WDP0)|(1<<WDCE);

WDCE: Watchdog Change Enable
This bit is used in timed sequences for changing WDE and prescaler bits.
 WDT ant mega644. Gal turit ideju?
PranešimasParašytas: 2009 10 20, 19:55 Pranešti apie taisyklių pažeidimą Atsakyti su citata
JOnis
VIP narys
VIP narys
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Apsilankyti vartotojo tinklapyje
Pagal pdf WDCE kartu su WDE isistato vienam takte, o kitam takte pakartojam WDE su keiciamais bitais. Taip veikia ir ant kitu modeliu megu. Reiks ryt pabandyt dar WDCE ikimst ir i konfigo takta. Tokios kombinacijos nebandziau, o isbandziau vos ne visokias fantastines idejas Smile
Idomu, jei stovi fusas ant bootrst wdt i nulini adresa startuos ar i boot sektoriu? Jei paviks pergudraut suni, tai issiaiskint ir susitvarkyt nebus problemos
 WDT ant mega644. Gal turit ideju?
PranešimasParašytas: 2009 10 21, 07:22 Pranešti apie taisyklių pažeidimą Atsakyti su citata
JOnis
VIP narys
VIP narys
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Apsilankyti vartotojo tinklapyje
Nepadejo. Kokiu dar ideju?
 WDT ant mega644. Gal turit ideju?
PranešimasParašytas: 2009 10 21, 11:43 Pranešti apie taisyklių pažeidimą Atsakyti su citata
circuit
VIP narys
VIP narys
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką Apsilankyti vartotojo tinklapyje
Nežinau ar pagelbės, bet man teko naudoti WDT su ATmega324P, kai pritrūkau taimerių. Naudojau tik jo overflow interruptą. Atrodo maždaug taip:
Kodas:
void wtd_init(void)
{
   WDTCSR=   0b01010000;      // WDT interrupt enable,
   WDTCSR=   0b01010000;      // repeat
}

ISR(WDT_vect) // 16ms
{
   big_fat_function();
}
 WDT ant mega644. Gal turit ideju?
PranešimasParašytas: 2009 10 21, 12:55 Pranešti apie taisyklių pažeidimą Atsakyti su citata
R2D2
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
tai tikrink asm`e tada kokios instrukcijos kur vaikšto, kaip kompiliatorius dirba.

arba iškart asmu pasirašyk to WDT bandymų kodą.
 WDT ant mega644. Gal turit ideju?
PranešimasParašytas: 2009 10 21, 13:49 Pranešti apie taisyklių pažeidimą Atsakyti su citata
caca
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
circuit rašo:
Nežinau ar pagelbės, bet man teko naudoti WDT su ATmega324P, kai pritrūkau taimerių. Naudojau tik jo overflow interruptą. Atrodo maždaug taip:
Kodas:
void wtd_init(void)
{
   WDTCSR=   0b01010000;      // WDT interrupt enable,
   WDTCSR=   0b01010000;      // repeat
}

ISR(WDT_vect) // 16ms
{
   big_fat_function();
}



o kaip cia tu taimeriu gali pritrukti? Viena turi-ir uztenka...

_________________
Nieko taip lengvai nedaliname, kaip patarimus...
 WDT ant mega644. Gal turit ideju?
PranešimasParašytas: 2009 10 21, 14:54 Pranešti apie taisyklių pažeidimą Atsakyti su citata
JOnis
VIP narys
VIP narys
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Apsilankyti vartotojo tinklapyje
Googlej radau uzsimionta kad kazkurioj codevision versijoj buvo taisytas mega644 headeris. Gali but kad klaida pdf ir atitinkamai IARe. Kas naudojat codevision ar winavr gal galit paziuret mega644.h koks wdtcr registro adresas ir bitu isdestymai?
 WDT ant mega644. Gal turit ideju?
PranešimasParašytas: 2009 10 21, 15:46 Pranešti apie taisyklių pažeidimą Atsakyti su citata
circuit
VIP narys
VIP narys
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką Apsilankyti vartotojo tinklapyje
caca rašo:
o kaip cia tu taimeriu gali pritrukti? Viena turi-ir uztenka...

Vienas vienam PWM, kitas kitam PWM.. dar kokį RTC padarai.. ir žiūrėk jau nebėra. Su taimeriais didelė problema kai vienam valdikliui tenka daug darbų atlikti.

sumečiau visus headerius čia:
http://circuit.lt/saugykla/_upload/mega644.rar

čia iš CodeVision v2.04.3a
 WDT ant mega644. Gal turit ideju?
PranešimasParašytas: 2009 10 21, 20:09 Pranešti apie taisyklių pažeidimą Atsakyti su citata
JOnis
VIP narys
VIP narys
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Apsilankyti vartotojo tinklapyje
Sutampa. Tada nebeturiu ideju. Isbandziau ivairias proceduras i kombinacijas. Vienintele mega, ant kurios negaliu pakelt suns. Ant kitu net nemastant junginejasi puikiai, tik sita uzsispyrus
 WDT ant mega644. Gal turit ideju?
PranešimasParašytas: 2009 10 21, 20:25 Pranešti apie taisyklių pažeidimą Atsakyti su citata
sneikaz
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Gal WDTON fusas uzdetas?
Pradėti naują temą  Atsakyti į pranešimą
 
Forumo sistema: phpBB
 „Google“ paieška forume
 Kas naujesnio?
 Naujos temos forume

Global electronic components distributor – Allicdata Electronics

Electronic component supply – „Eurodis Electronics“

LOKMITA – įvairi matavimo, testavimo, analizės ir litavimo produkcija

Full feature custom PCB prototype service

GENERAL FINANCING BANKAS

Mokslo festivalis „Erdvėlaivis Žemė

LTV.LT - lietuviškų tinklalapių vitrina

„Konstanta 42“

Technologijos.lt

Buitinė technika ir elektronika internetu žemos kainos – Zuza.lt

www.esaugumas.lt – apsaugok savo kompiuterį!

PriedaiMobiliems.lt – telefonų priedai ir aksesuarai

Draugiškas internetas

FS25 Tractors
Farming Simulator 25 Mods, FS25 Maps, FS25 Trucks
ETS2 Mods
ETS2 Trucks, ETS2 Bus, Euro Truck Simulator 2 Mods
FS22 Tractors
Farming Simulator 22 Mods, FS22 Maps, FS25 Mods
VAT calculator
VAT number check, What is VAT, How much is VAT
LEGO
Mänguköök, mudelautod, nukuvanker
Thermal monocular
Thermal vision camera,
Night vision ar scope,
Night vision spotting scope
FS25 Mods
FS25 Harvesters, FS25 Tractors Mods, FS25 Maps Mods
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija
FS25 Mods
FS25 Maps, FS25 Cheats, FS25 Install Mods
GTA 6 Weapons
GTA 6 Characters, GTA 6 Map, GTA 6 Vehicles
FS25 Mods
Farming Simulator 25 Mods,
FS25 Maps
Reklama
‡ 1999– © Elektronika.lt | Autoriaus teisės | Privatumo politika | Atsakomybės ribojimas | Turinys | Reklama | Kontaktai LTV.LT - lietuviškų tinklalapių vitrina
Script hook v, Openiv, Menyoo
gta5mod.net
FS25 Mods, FS25 Tractors, FS25 Maps
fs25mods.lt
Optical filters, UV optics, electro optical crystals
www.eksmaoptics.com
Reklamos paslaugos
SEO sprendimai

www.addad.lt
Elektroninių parduotuvių optimizavimas „Google“ paieškos sistemai
www.seospiders.lt
FS22 mods, Farming simulator 22 mods,
FS22 maps

fs22.com
Reklama


Reklama