Elektronická "udělátka"

vše o elektrotechnice

Moderátor: Moderátoři

Příspěvekod Michal Karásek » úte bře 01, 2011 18:44

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íčů."
Michal Karásek
 
Příspěvky: 184
Registrován: čtv pro 04, 2008 13:07
Bydliště: Malátova 7, Jihlava

Příspěvekod MartasBrno » úte bře 01, 2011 19:25

//=============================================================================

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.
Obrázek
a když jsem se v 15-ti rozhodoval co dál dělat, poslouchat sestry byla pro mě jasná volba... :-D
Uživatelský avatar
MartasBrno
 
Příspěvky: 4442
Registrován: pon zář 08, 2008 13:10
Bydliště: Brno

Příspěvekod Michal Karásek » úte bře 01, 2011 19:32

sakraš, to je až tak jednoduchy? dopr. čic asi zase nasadim do nepajivyho pole procik a jdu si hrat, dik
[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íčů."
Michal Karásek
 
Příspěvky: 184
Registrován: čtv pro 04, 2008 13:07
Bydliště: Malátova 7, Jihlava

Příspěvekod MartasBrno » úte bře 01, 2011 19:41

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 :-D
Obrázek
a když jsem se v 15-ti rozhodoval co dál dělat, poslouchat sestry byla pro mě jasná volba... :-D
Uživatelský avatar
MartasBrno
 
Příspěvky: 4442
Registrován: pon zář 08, 2008 13:10
Bydliště: Brno

Příspěvekod Michal Karásek » úte bře 01, 2011 20:11

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 :lol: - 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íčů."
Michal Karásek
 
Příspěvky: 184
Registrován: čtv pro 04, 2008 13:07
Bydliště: Malátova 7, Jihlava

Příspěvekod MartasBrno » úte bře 01, 2011 20:23

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.
Obrázek
a když jsem se v 15-ti rozhodoval co dál dělat, poslouchat sestry byla pro mě jasná volba... :-D
Uživatelský avatar
MartasBrno
 
Příspěvky: 4442
Registrován: pon zář 08, 2008 13:10
Bydliště: Brno

Příspěvekod Michal Karásek » úte bře 01, 2011 22:24

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 :mrgreen:
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íčů."
Michal Karásek
 
Příspěvky: 184
Registrován: čtv pro 04, 2008 13:07
Bydliště: Malátova 7, Jihlava

Příspěvekod veliz » úte bře 01, 2011 22:42

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);
Uživatelský avatar
veliz
 
Příspěvky: 505
Registrován: čtv led 28, 2010 21:19
Bydliště: Praha-západ

Příspěvekod Petr HC » stř bře 02, 2011 10:41

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.

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.
Přílohy
INT_C11.JPG
Uživatelský avatar
Petr HC
 
Příspěvky: 2295
Registrován: stř lis 21, 2007 11:27
Bydliště: Hořice

Příspěvekod Saša » stř bře 02, 2011 16:34

:( 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í :roll:
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!
Uživatelský avatar
Saša
 
Příspěvky: 3359
Registrován: pon črc 09, 2007 16:08
Bydliště: Litoměřice

Příspěvekod Dusan » čtv bře 03, 2011 21:15

Petr HC píše:
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.

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.


porovnavat trabanta s mercedesom.... asi taky rozdiel je medzi nimi....
Dusan
 
Příspěvky: 3864
Registrován: stř čer 02, 2004 17:29
Bydliště: Kosice-okolie

Příspěvekod Michal Karásek » čtv bře 03, 2011 22:32

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íčů."
Michal Karásek
 
Příspěvky: 184
Registrován: čtv pro 04, 2008 13:07
Bydliště: Malátova 7, Jihlava

Příspěvekod Petr HC » sob bře 05, 2011 11:40

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,

Všechno je to o času. Mně se s 8051 nejvíce líbil RD2kit_big.
Přílohy
RD2kit.txt
(1.14 KiB) 416 krát
rd2kit_big.jpg
Uživatelský avatar
Petr HC
 
Příspěvky: 2295
Registrován: stř lis 21, 2007 11:27
Bydliště: Hořice

Příspěvekod Michal Karásek » sob bře 05, 2011 19:21

To ty desky co byly na fakultě byly o dost větší, bo měly integrovaný periferie jako displej, vnější RTC atd., ty zmiňované v minulém příspěvku byly součástí procesoru :)
[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íčů."
Michal Karásek
 
Příspěvky: 184
Registrován: čtv pro 04, 2008 13:07
Bydliště: Malátova 7, Jihlava

Re: Elektronická "udělátka"

Příspěvekod Dusan » pon pro 24, 2012 21:37

Ako skoncil tento projekt :D
Dusan
 
Příspěvky: 3864
Registrován: stř čer 02, 2004 17:29
Bydliště: Kosice-okolie

PředchozíDalší

Zpět na Elektronická výbava a doplňky auta - BASTLÍRNA

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků