Elektronika.lt
 2025 m. spalio 17 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 2025 10 17, 16:07. Visos datos yra GMT + 2 valandos.
 Forumas » Mikrovaldikliai » AVR IR decode, _delay_us(), timer0
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ą 
 AVR IR decode, _delay_us(), timer0
PranešimasParašytas: 2010 05 14, 21:57 Pranešti apie taisyklių pažeidimą Atsakyti su citata
HIdef
Svečias
Sveiki, bandau pasidaryt paprasciausia IR dekoderi.Naudoju Atmega16 4MHz, TSOP36, signalinis laida prijungiau prie PINA0, programine iranga AVR Studio4. Esme tokia: gaves pirma zema signalo lygi pradedu cikla, kuris kas tam tikra laika "paziuri" i PINA0 reiksme, ir iraso ja i masyva. Tam tikras laikas = 888us (impulso plotis). Taigi su ideja kiek suprantu viskas gerai. Problema yra to uzvelinimo padarymas. Naudodamas util/delay.h biblioteka velinimai gaunasi per daug trumpi, tai yra neatitinka realaus laiko, pvz funkcija _delay_ms(10000) uzvelina ne 10sekundziu, o mazdaug 6. Taigi tas 888 mikro sekundes reiketu atitaikyt "is akies", kas manau yra tuscias reikalas. Poto nusprendziau naudotis taimeriais, ir, kaip visada, be problemu niekaip.

Kodas:

int main(void){
PORTA=1;              //vidiniai pull-up
DDRD=255;           //portd kaip isejimai
TCCR0=0x03;        // impulsu dalyba is 64

char data[27];
unsigned char i;
unsigned char a;
while(1){

   if(!(PINA&1)){            //salyga "jei pasirodo pirmas loginis nulis"

   for(i=0; i<27; i++){
   TCNT0=0;                 //numusam laikmati
   if(TCNT0==0x37){     //kai laikmacio reg.pasiekia reiksme 0x37
   data[i]=(PINA&1);      //t.y. po 888mikrosekundziu, dedam duomenis i masyva
   }
   }

//RC5 protokolo komandiniai bitai ateina paskutiniai, taigi cia empiriskas
//patikrinimas , tik tam, kad pamatyt ar vienintele mygtuko reiksme //atitinka vienintele diodu uzsidegimo kombinacija
a=(10*data[26])+(10*data[25])+(10*data[24])+(10*data[23])+(10*data[22]) +
+(10*data[21])+(10*data[20])+(10*data[19]);

PORTD=a;
}
}}


Irasius sia programa ir paspaudus bet koki pulto mygtuka, MK sureaguoja, issiziebia kai kurie diodai, bet daugiau nereaguoja. Atjungi maitinima, vel ijungi, vel paspaudi mygtuka, vel ijungia kai kuriuos diodus. P.S. spaudziant ta pati mygtuka issiziebia skirtingi diodai.

Jeigu ka, signalas irasytas su NERO Wave Editor atrodo taip

http://www.failai.in/show/F/C163288D4/pirm.JPG

Taigi konkreciai klausimai butu du:
1) ar galima ka padaryt, kad _delay_ms() ir _delay_us() funkcijos atitikru realu velinima?
2) kas blogai mano programoje, ka reikia patobulint, kad ji gerai veiktu?

Gal kas seip kokiu pasiulymu turit del viso sito? Ačiū už bet kokią pagalbą Smile

Wink [/quote]
 AVR IR decode, _delay_us(), timer0
PranešimasParašytas: 2010 05 14, 22:45 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Andriuha
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
#define F_CPU 400000UL ?

_________________
Kam man daug žinoti? Jei daugiau žinau, tai daugiau ir užmirštu. O jei mažiau žinau, tai mažiau užmirštu. O jei mažiau užmirštu, vadinasi daugiau žinau.
 AVR IR decode, _delay_us(), timer0
PranešimasParašytas: 2010 05 14, 23:02 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ą
Google tikrai padetu per pora minuciu issiaiskinti su tais delay. Pats tikrinimo ciklas nesamoningai padarytas, ir isvis jokiu vilciu kad tas tavo kodas veiks tokiu budu.
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

Sveiki ir ekologiški maisto produktai

Mokslo festivalis „Erdvėlaivis Žemė

LTV.LT - lietuviškų tinklalapių vitrina

„Konstanta 42“

„Mokslo sriuba“

www.matuok.lt - Interneto spartos matavimo sistema

Programuotojas Tautvydas – interneto svetainių-sistemų kūrimas

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
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija
FS25 Mods
FS25 Maps, FS25 Cheats, FS25 Install Mods
FS25 Mods
Farming Simulator 25 Mods,
FS25 Maps
ATS Trailers
American Truck Simulator Mods, ATS Trucks, ATS Maps
Reklama
‡ 1999– © Elektronika.lt | Autoriaus teisės | Privatumo politika | Atsakomybės ribojimas | Turinys | Reklama | Kontaktai LTV.LT - lietuviškų tinklalapių vitrina
Ets2 mods, Ats mods, Beamng drive mods
allmods.net
„MokslasPlius“ – mokslui skirtų svetainių portalas
www.mokslasplius.lt
Optical filters, UV optics, electro optical crystals
www.eksmaoptics.com
LTV.LT – lietuviškų tinklalapių vitrina
www.ltv.lt/technologijos/
Elektroninių parduotuvių optimizavimas „Google“ paieškos sistemai
www.seospiders.lt
Mokslo festivalis „Erdvėlaivis žemė“
www.mokslofestivalis.eu
Reklama


Reklama