Elektronická "udělátka"
Moderátor: Moderátoři
-
- Příspěvky: 184
- Registrován: čtv pro 04, 2008 13:07
- Bydliště: Malátova 7, Jihlava
Zatím to bylo jen na nepájivým poli - v podstatě zkušební aplikace pro oživení displeje 40x4 znaky, ani to tolik nekecalo, ale mělo to stálou teplotu, z čehož mám u toho analogového mezičlánku strach největší, asi se přecijen naučím obsluhovat to přerušení, místo abych tohle riskoval...btw. kdo tu tak nějak aktivně programuje atmegy v C? mohli byste někdo poskytnout nějaký vzor kódu na přerušení od pinu/časovače?
[VAZ 2104 Květuška (dříve Nataša)]
[Trabant 601 Žlutej ďábel]
"Rozdíl mezi svěřencem blázince a hlídačem je ve vlastnictví klíčů."
[Trabant 601 Žlutej ďábel]
"Rozdíl mezi svěřencem blázince a hlídačem je ve vlastnictví klíčů."
- MartasBrno
- Příspěvky: 4442
- Registrován: pon zář 08, 2008 13:10
- Bydliště: Brno
//=============================================================================
ISR( INT1_vect ) //preruseni od cidla drahy
{
dist_cnt++; //inkrementace pocitadla drahy - absolutni hodnota ujete drahy
status = 1; //nastaveni stavove promenne signalizujici provedeni preruseni
}
//=============================================================================
ISR( TIMER1_OVF_vect ) //preruseni od casovace 1
{
ADCRES = (unsigned int)GetADCSample(3);// 3=Un, 0=Zasoba
zasoba = (unsigned int)GetADCSample(0)/12; //napeti z AD prevodu delim na litry
status = 1; //provede se Measure()
}
//=============================================================================
Základem všeho je datasheet od té megy.
ISR( INT1_vect ) //preruseni od cidla drahy
{
dist_cnt++; //inkrementace pocitadla drahy - absolutni hodnota ujete drahy
status = 1; //nastaveni stavove promenne signalizujici provedeni preruseni
}
//=============================================================================
ISR( TIMER1_OVF_vect ) //preruseni od casovace 1
{
ADCRES = (unsigned int)GetADCSample(3);// 3=Un, 0=Zasoba
zasoba = (unsigned int)GetADCSample(0)/12; //napeti z AD prevodu delim na litry
status = 1; //provede se Measure()
}
//=============================================================================
Základem všeho je datasheet od té megy.
-
- Příspěvky: 184
- Registrován: čtv pro 04, 2008 13:07
- Bydliště: Malátova 7, Jihlava
- MartasBrno
- Příspěvky: 4442
- Registrován: pon zář 08, 2008 13:10
- Bydliště: Brno
No, ono to je jednoduchý, ale chce to vědět co chceš vlastně udělat. Taky je nějaká kultura psaní, to u mně nenajdeš, ale někteří to umí. Obsluh apřerušení má být jednoduchá a nemá dlouho trvat - takže když čtu převodník, nebo pin, nebo mi přeteče časovač, tak si uložím hodnotu do proměnné a končím, zbytek zpracuju během průchodu smyčkou. Nemá se z přerušení volat deset do sebe vnořených funkcí. Proto to vypadá jednoduše, je tam jen to nejnutnější.
Tak těď by to chtělo osvětu, od nějakého odborníka, máme se co učit
Tak těď by to chtělo osvětu, od nějakého odborníka, máme se co učit
-
- Příspěvky: 184
- Registrován: čtv pro 04, 2008 13:07
- Bydliště: Malátova 7, Jihlava
To jo, jinak díky moc, už to chodí ve zkušebním režimu (dioda, na přerušení blikne třikrát rychleji - ale na odzkoušení funkce dostatečné), teď se zase na čas ponořit do útrob cécčka, odstranit analogové mezičlánky a přepsat, ještě vyzkoušim přerušení od časovače, to by mi mělo pro základní funkce stačit.
[VAZ 2104 Květuška (dříve Nataša)]
[Trabant 601 Žlutej ďábel]
"Rozdíl mezi svěřencem blázince a hlídačem je ve vlastnictví klíčů."
[Trabant 601 Žlutej ďábel]
"Rozdíl mezi svěřencem blázince a hlídačem je ve vlastnictví klíčů."
- MartasBrno
- Příspěvky: 4442
- Registrován: pon zář 08, 2008 13:10
- Bydliště: Brno
-
- Příspěvky: 184
- Registrován: čtv pro 04, 2008 13:07
- Bydliště: Malátova 7, Jihlava
datashitt je základ, o tom žádná, až se v tom začnu šťourat pořádně, vykašlu se na nabízené varianty CodeVisionu a prostě to podle datašítu přepíšu v původním kódu - ale jako člověk líný si nechávám i nastavení portů generovat a potom zkopíruju do původního programu - v tomhle případě holt kalkulačka a převod DEC->HEX
A pro sebe si dám pro příští dny zásadu - míň psát na web, víc programovat
A pro sebe si dám pro příští dny zásadu - míň psát na web, víc programovat
[VAZ 2104 Květuška (dříve Nataša)]
[Trabant 601 Žlutej ďábel]
"Rozdíl mezi svěřencem blázince a hlídačem je ve vlastnictví klíčů."
[Trabant 601 Žlutej ďábel]
"Rozdíl mezi svěřencem blázince a hlídačem je ve vlastnictví klíčů."
MartasBrno píše: ISR( TIMER1_OVF_vect ) //preruseni od casovace 1
{
ADCRES = (unsigned int)GetADCSample(3);// 3=Un, 0=Zasoba
zasoba = (unsigned int)GetADCSample(0)/12; //napeti z AD prevodu delim na litry
status = 1; //provede se Measure()
}
//======================================================================
V tom přerušení postrádám reinicializaci např.:
TCNT1=0xAB; // Reinitialize Timer 1 value
Jako příklad uvádím obsluhu přerušení od časovače 2 (ATmega128):
// Timer 2 overflow interrupt service routine
interrupt [TIM2_OVF] void timer2_ovf_isr(void)
{
TCNT2=0xEF; // Reinitialize Timer 2 value
tim2++;
if (tim2 == 0) {
LED2 = !LED2;
}
}
a namódování
// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: 15,625 kHz
// Mode: Normal top=FFh
// OC2 output: Disconnected
TCCR2=0x05;
TCNT2=0xEF;
OCR2=0x00;
Lada Niva 1,7MPi+LPG r.v. 2009 (01/2010 - 3/2014);
Lada 2105 r.v. 1985 (06/1994 - 11/1996);
Lada 2105 r.v. 1985 (06/1994 - 11/1996);
Já jsem skončil programováním přerušení v assembleru u 8051. Pokud má ATMega shodné jádro, pak třeba trochu pomůže toto: INT_C11.jpg. Opravdu to není "sranda". Dál se tím už nehodlám zabývat.MartasBrno píše:Těch přerušení a nastavení módu časovače je několik, docela je potřeba to důsledně projít co o tom v datašítu píšou.
Tuo jsu úplně mimo Zlatá dobrá TTL logika No nic rozjetý Expres se již pěšky dohonit nedá . Ať tedy vládnou mikroprocesory . Po GO 043 v ní bude asi "tlouci staré dobré srdce" (oscilátor) z MH7400 a bude udávat rytmus technologiji dnešní
VAZ 2102 r.v.74 1984-1997 "Legenda"
VAZ 21043 r.v.90 1996-White Lady - nyní v GO. VAZ 21044 r.v.96 2007-(muzeum koroze)
VAZ 2106 r.v.78 2008-a dál...
VAZ 2105 r.v.87 12/2012-Rudý dělník
Nikdy neříkejte že to nejde,protože se v zápětí objeví někdo kdo neví že to nejde a udělá to!
VAZ 21043 r.v.90 1996-White Lady - nyní v GO. VAZ 21044 r.v.96 2007-(muzeum koroze)
VAZ 2106 r.v.78 2008-a dál...
VAZ 2105 r.v.87 12/2012-Rudý dělník
Nikdy neříkejte že to nejde,protože se v zápětí objeví někdo kdo neví že to nejde a udělá to!
porovnavat trabanta s mercedesom.... asi taky rozdiel je medzi nimi....Petr HC píše:Já jsem skončil programováním přerušení v assembleru u 8051. Pokud má ATMega shodné jádro, pak třeba trochu pomůže toto: INT_C11.jpg. Opravdu to není "sranda". Dál se tím už nehodlám zabývat.MartasBrno píše:Těch přerušení a nastavení módu časovače je několik, docela je potřeba to důsledně projít co o tom v datašítu píšou.
-
- Příspěvky: 184
- Registrován: čtv pro 04, 2008 13:07
- Bydliště: Malátova 7, Jihlava
takhle se to snad ani porovnávat nedá, měl jsem jeden čas na škole po rukama (a možná že ty vývový desky tam ještě na laboratořích jsou) 8051 od Xilinxu či od koho za nějakých 600kc/kus, jádro 8051 oblepený veškerejma možnejma i nemožnejma věcma, ke kterejm jsem se pro nedostatek času vůbec nedostal, jen jsem o nich věděl, včetně integrovanýho USB, výstupního řadiče portů řízenýho vnitřní sběrnicí, CAN, hodně rychlejma ad převodníkama atd...). Mělo to něco do sebe, pravda je že ATmega/ATtiny jsou uživatelsky daleko přívětivější, i když občas trošku těžkopádné, ale to stejně bude mým programováním a ne procesorem.
[VAZ 2104 Květuška (dříve Nataša)]
[Trabant 601 Žlutej ďábel]
"Rozdíl mezi svěřencem blázince a hlídačem je ve vlastnictví klíčů."
[Trabant 601 Žlutej ďábel]
"Rozdíl mezi svěřencem blázince a hlídačem je ve vlastnictví klíčů."
Všechno je to o času. Mně se s 8051 nejvíce líbil RD2kit_big.Michal Karásek píše:... 8051 od Xilinxu či od koho za nějakých 600kc/kus, jádro 8051 oblepený veškerejma možnejma i nemožnejma věcma, ke kterejm jsem se pro nedostatek času vůbec nedostal,
- Přílohy
-
- RD2kit.txt
- (1.14 KiB) Staženo 474 x
-
- Příspěvky: 184
- Registrován: čtv pro 04, 2008 13:07
- Bydliště: Malátova 7, Jihlava
Re: Elektronická "udělátka"
Ako skoncil tento projekt