Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Programiranje atmega8

[es] :: Elektronika :: Mikrokontroleri :: Programiranje atmega8

Strane: 1 2

[ Pregleda: 7394 | Odgovora: 28 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Milan_95
Milan Bozic

Član broj: 266941
Poruke: 91
*.mediaworksit.net.



+1 Profil

icon Re: Programiranje atmega815.05.2014. u 16:56 - pre 120 meseci
Moze li neko da mi posalje fuse za ovaj atmega imam problem sa taktom jer bez externog oscilatora nije hteo da mi prepozna, pa sam stavio kvarcni na 4mhz onda sam ucitao program samo da mi pusti "1" na portc i to je radilo, pa sam probao sa blinkom i tu se javlja problem, onda sam se malo igrao sa fuse bit pomocu ds sam postavio bite da mi radi na 1mhz internim oscilatorom ali to nije radilo kad skinem kvarcni, onda sam probao jos neke kombinacije na kraju sam morao da pravim 1MHZ sa 555 tajmerom da bi ga uopste pony prepoznao ... Vise se nebih igrao sa tim pa molim da mi neko posalje podesavanja za 4mhz interni oscilator jer ocigledno negde gresim ,

Cudno mi je to sto odmah po prvom ukljucivanju nije imao fabricki takt od 1mhz ,
Da li je problem u tome sto je moj atmega u tqfp kucistu ?
"Bitno je stalno postavljati pitanja "
 
Odgovor na temu

Milan_95
Milan Bozic

Član broj: 266941
Poruke: 91
*.mediaworksit.net.



+1 Profil

icon Re: Programiranje atmega828.05.2014. u 12:27 - pre 120 meseci
Ne vidim gde gresim a ovde mi program staje :

Code:
while(PIND & (1<<PIND0)) || PIND & (1<<PIND1)) == 0


kad je samo jedan uslov onda radi
"Bitno je stalno postavljati pitanja "
 
Odgovor na temu

Odin D.
Mlađi referent za automatizaciju
samoupravljanja

Član broj: 37292
Poruke: 2549



+8370 Profil

icon Re: Programiranje atmega828.05.2014. u 13:14 - pre 120 meseci
Zaejbo si sa zagradama.
Citav uslov za while mora biti u zagradama.

Kod tebe je to samo ono sto je prije || operacije.
Treba npr. ovako:

while(((PIND & (1<<PIND0)) || PIND & (1<<PIND1)) == 0)

Ovo bi trebalo da je sintakticki ispravno, ali ne znam da li si to htio.
U svakom slucaju, prekontrolisi i vodi racuna o prioretetu operatora i da na kraju imas isto lijevih koliko i desnih zagrada :)
 
Odgovor na temu

Milan_95
Milan Bozic

Član broj: 266941
Poruke: 91
*.mediaworksit.net.



+1 Profil

icon Re: Programiranje atmega828.05.2014. u 19:02 - pre 120 meseci
Kad se malo glava ohladila bilo je logicno da to ovako treba da pise

Code:

while(((PINC & (1<<PINC4)) && PINC & (1<<PINC5)) != 0)
    {
    } // Vrti se u praznoj petlji dok se ne stisne neki od tastera na c4 ili c5


"Bitno je stalno postavljati pitanja "
 
Odgovor na temu

Milan_95
Milan Bozic

Član broj: 266941
Poruke: 91
*.mediaworksit.net.



+1 Profil

icon Re: Programiranje atmega831.05.2014. u 11:51 - pre 120 meseci
Moze li program nakon externog prekida da se vrati na ono mesto sa koga je gl. program prekinut ? Sta treba da dodam ?
Code:
ISR(INT0_vect)
{
    TCCR2 &= ~(1 << COM21);
    lcd_clrscr();
    while (okW&&tast1W!=0)
    {lcd_string("    STOP\n");
        lcd_string(" OK-nast 1-kraj");
        _delay_ms(100);
        lcd_clrscr();
        lcd_home();
    }
    
    if (tast1W==0)
    {lcd_clrscr();
        lcd_string(" Motanje zavrseno\n");
        sprintf(namot_ch," Namotano %d",namotano);
        lcd_string(namot_ch);
        while(1)
        {}}
        return;
    }

"Bitno je stalno postavljati pitanja "
 
Odgovor na temu

goran_68

Član broj: 89012
Poruke: 932
*.dynamic.isp.telekom.rs.



+81 Profil

icon Re: Programiranje atmega831.05.2014. u 12:46 - pre 120 meseci
Uvek se tamo i vraća. Ne treba ništa da dodaješ. Nije ti dobra ova obrada prekida. U funkciji u kojoj obrađuješ prekid obavljaš samo najneophodnije stvari (npr. postaviš neki flag da se prekid uopšte desio, uvećaš/umanjiš neki brojač itd). Potom se prekidna rutina napušta i izvršavanje se nastavlja od one tačke na kojoj si bio pre nego se prekid desio. Stvar tvog koda u glavnom programu je da obradi dalje to što je prekid doneo.
gorankg
 
Odgovor na temu

Odin D.
Mlađi referent za automatizaciju
samoupravljanja

Član broj: 37292
Poruke: 2549



+8370 Profil

icon Re: Programiranje atmega831.05.2014. u 14:07 - pre 120 meseci
Citat:
Milan_95: Moze li program nakon externog prekida da se vrati na ono mesto sa koga je gl. program prekinut ? Sta treba da dodam ?

Poslije prekida program ce se sam vratiti tamo gdje ga je prekid omeo.
Medjutim, u zavisnosti sta se odvijalo u prekidnoj rutini, odredjeni registri/flagovi (pogledaj npr. STATUS REGISTER) u procesoru mogu biti promjenjeni.
Da bi obezbedio da se po povratku iz prekidne rutine u glavni program procesor nalazi u istom stanju u kome je bio prije nego je prekinut, to prva stvar koju moras uraditi po ulasku u prekidnu rutinu je da sacuvas stanje STATUS registra (i eventualno nekih drugih koji ce se promjeniti u prekidnoj rutini), i neposredno prije povratka iz prekidne rutine u glavni program vratis ta stanja u svoje pripadajuce registre.

Ne znam koji kompajler koristis, i to moze biti rjeseno automatski u kompajleru, a i ne mora.
U slucaju da jeste, kompajler ce sam dodati to u tvoj kod, a u slucaju da nije - moras sam.
Cak i kad jeste, ne mora znaciti da automatski dodaje za sve moguce registre, mozda samo za STATUS.
Pogledaj dokumentaciju kompajlera i pogledaj datasheet mikrokontrolera za vise detalja.
 
Odgovor na temu

Milan_95
Milan Bozic

Član broj: 266941
Poruke: 91
*.mediaworksit.net.



+1 Profil

icon Re: Programiranje atmega831.05.2014. u 14:59 - pre 120 meseci
Ipak je sve bilo ok samo se zaturilo jedno lcd_clrscr koje je cistilo display a nije trebalo pa sam ja pomislio da nakon rutine uC tu zavrsi svoj program , ipak hvala , znam da ovi prekidi trebaju da budu mnogo mnogo kraci ali u ovom slucaju pozivom tog prekida trebam da blokiram bukvalno sve delove uredjaja i nije mi bitno vreme koje je potrebno da se sve to izvrsi i vrati u gl. program ..
"Bitno je stalno postavljati pitanja "
 
Odgovor na temu

Milan_95
Milan Bozic

Član broj: 266941
Poruke: 91
*.mediaworksit.net.



+1 Profil

icon Re: Programiranje atmega812.06.2014. u 22:37 - pre 119 meseci
Zahvalio bih se svima koji su mi pomogli na bilo koji nacim , motalica je zavrsena , sve radi kako je zamisljeno , danas sam se malo igrao i isprobavao sasvim lepo slaze tanku zicu tipa 0,1mm ... ako se neko odluci da pravi nesto slicno tu sam da pomognem ...

"Bitno je stalno postavljati pitanja "
 
Odgovor na temu

[es] :: Elektronika :: Mikrokontroleri :: Programiranje atmega8

Strane: 1 2

[ Pregleda: 7394 | Odgovora: 28 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.