 |

|
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
|
|
|
 |
 |
 |
AVR IR decode, _delay_us(), timer0 |
Parašytas: 2010 05 14, 21:57 |
|
|
|
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ą
[/quote] |
|
|
|
|
 |
 |
AVR IR decode, _delay_us(), timer0 |
Parašytas: 2010 05 14, 22:45 |
|
|
|
|
_________________ 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 |
Parašytas: 2010 05 14, 23:02 |
|
|
|
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. |
|
|
|
|
|
 |
Google paieška forume |
|
 |
Naujos temos forume |
|
 |
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 |
|

|
 |