www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Problem s CodeVision
Pojdi na stran Prejšnja  1, 2, 3  Naslednja
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Osnove programiranja AVR-jev
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
davide
Član
Član



Pridružen-a: Pet 10 Sep 2010 16:45
Prispevkov: 149
Aktiv.: 0.83
Kraj: Savinjska

PrispevekObjavljeno: Sob Jul 23, 2011 5:28 pm    Naslov sporočila:   Odgovori s citatom

In kaj bi imelo to podpičje veze s tem, da se spremenljivka minute na spreminja s tipko??
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Alex17
Član
Član



Pridružen-a: Ned 28 Feb 2010 21:46
Prispevkov: 476
Aktiv.: 2.56
Kraj: Ljutomer

PrispevekObjavljeno: Sob Jul 23, 2011 5:53 pm    Naslov sporočila:   Odgovori s citatom

Da ti vedno, ko pritisneš tipko postavi minute na 59. Če si sprobal mojo kodo, bi ti moralo delovati, ker te napake ni bilo notri.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
micabauc
Član
Član



Pridružen-a: Tor 03 Jun 2003 7:12
Prispevkov: 177
Aktiv.: 0.75
Kraj: Celje

PrispevekObjavljeno: Sob Jul 23, 2011 6:40 pm    Naslov sporočila:   Odgovori s citatom

Podpičje pomeni zaključek ukaza, in ti si zaključil IF stavek, prej ko je bilokaj nardil.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
davide
Član
Član



Pridružen-a: Pet 10 Sep 2010 16:45
Prispevkov: 149
Aktiv.: 0.83
Kraj: Savinjska

PrispevekObjavljeno: Tor Jul 26, 2011 11:25 am    Naslov sporočila:   Odgovori s citatom

Sem popravil kodo ampak na žalost še vedno ne deluje, poskušal sem na vse možne načine, vendar mi ne spremenija minut na zaslonu, napaka ni velika ampak mene je stala že kar nekaj časa:D....zanimivo res, na prvi pogled je vse ok ampak nekaj more biti pri izpisu na zaslon narobe pa ne vem kaj??
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Alex17
Član
Član



Pridružen-a: Ned 28 Feb 2010 21:46
Prispevkov: 476
Aktiv.: 2.56
Kraj: Ljutomer

PrispevekObjavljeno: Tor Jul 26, 2011 11:41 am    Naslov sporočila:   Odgovori s citatom

Probaj še to - za izpisom na LCD dodaj ti dve vrstici:

Koda:
lcd_gotoxy(10,0);
sprintf(hr,"%02d",ure);
lcd_puts(hr);
lcd_puts(":");
sprintf(min,"%02d",minute);
lcd_puts(min);

PORTB.B2 = !PORTB.B2;
PORTB.B3 = minute.B0;


Pri tem pina B2 in B3, zamenjaj s pinoma, ki sta prosta in gor poveži dve LED.
Prva bo indikator pritisnjenosti tipke - če ne držiš tipke, se bo prižigala/ugašala tako hitro, da bo izgledalo kot da sveti, če pa držiš tipko pa se bo prižigala ugašala v ritmu 200ms, ker imaš pri tipkah tak delay.
Druga pa prikazuje stanje zadnjega bita spremenljivke minute, da vidiš, če se spreminja vrednost minut. Ta LED bi prav tako ob pritisnjeni tipki utripala na 200ms, brez tipk pa bi ostala v enem stanju on ali off.

Če bo vse delovalo kot sem opisal, imaš problem z izpisom na LCD, če ne pa bomo tudi hitro izvedeli kje drugje je.

Pa tistega drugega lcd_gotoxy(13,0) ne rabiš, ker je kurzor itak na poziciji 13,0 po izpisu ur in dvopičja.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
davide
Član
Član



Pridružen-a: Pet 10 Sep 2010 16:45
Prispevkov: 149
Aktiv.: 0.83
Kraj: Savinjska

PrispevekObjavljeno: Tor Jul 26, 2011 11:58 am    Naslov sporočila:   Odgovori s citatom

PORTB.B3 = minute.B0;

kaj si pravzaprav mislil s tem, npr. PORTC.2=minute; ali kako?
kati imam proste še eostale c pine in torej po tvojem predlogu dodam te dve vrstici:

PORTC.1=!PORTC.1;
PORTC.2=minute;

??
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Alex17
Član
Član



Pridružen-a: Ned 28 Feb 2010 21:46
Prispevkov: 476
Aktiv.: 2.56
Kraj: Ljutomer

PrispevekObjavljeno: Tor Jul 26, 2011 12:01 pm    Naslov sporočila:   Odgovori s citatom

PORTC.1=!PORTC.1;
PORTC.2=minute.0;

Na PORTC.2 mora biti samo zadnji bit od minut. Če ta prevjalnik ne razume tega, pa lahko napišeš tudi:
PORTC.2 = Minute & 0x01;
kar je tudi bolj pravilno.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
davide
Član
Član



Pridružen-a: Pet 10 Sep 2010 16:45
Prispevkov: 149
Aktiv.: 0.83
Kraj: Savinjska

PrispevekObjavljeno: Tor Jul 26, 2011 12:08 pm    Naslov sporočila:   Odgovori s citatom

aha razumem sedaj ja...bom poskusil to pa ti sporočim, kako se odzovejo led diode...
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
davide
Član
Član



Pridružen-a: Pet 10 Sep 2010 16:45
Prispevkov: 149
Aktiv.: 0.83
Kraj: Savinjska

PrispevekObjavljeno: Tor Jul 26, 2011 12:18 pm    Naslov sporočila:   Odgovori s citatom

Torej dioda na pinu C1 se obnaša normalno, ko ni pritisnejano nič, dioda sveti oz. utripa hitro, ko pridržiš tipko utripa na 200ms, torej vse ok, ampak z drugo diodo se ne zgodi nič.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
davide
Član
Član



Pridružen-a: Pet 10 Sep 2010 16:45
Prispevkov: 149
Aktiv.: 0.83
Kraj: Savinjska

PrispevekObjavljeno: Tor Jul 26, 2011 12:19 pm    Naslov sporočila:   Odgovori s citatom

Napaka je nekje v izpisu na lcd, mogoče zisto zaporedje izpisa, ki je na začetku drugega while stavka??
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Alex17
Član
Član



Pridružen-a: Ned 28 Feb 2010 21:46
Prispevkov: 476
Aktiv.: 2.56
Kraj: Ljutomer

PrispevekObjavljeno: Tor Jul 26, 2011 3:27 pm    Naslov sporočila:   Odgovori s citatom

Če ti LED na C2 ne spreminja stanja, to pomeni, da se ti tudi spremenljivka minute ne spreminja (če imaš seveda C2 pin nastavljen kot izhodni). Torej je izpis na LCD pravilen (preveriš tako, da nastaviš minutam drugo začetno vrednost, npr. minute = 10 na začetku programa).

S tem ostane problem enak kot prej. Tu pa ti res en ostane več veliko možnosti, vse izgleda OK, pa vseeno ne dela.

Lahko probaš še spreminjati minute in ure hkrati, brez omejitve vrednosti, da vidimo, kaj se zgodi:

Koda:

                if(PINB.1==0) //tipka gor
                {
                    if(menu==1)
                    {
                    ure++;
                    minute++;
                    }

                    if(menu==2)
                    {
                    minute++;
                    ure++;
                    }

                    Delay_ms(200); 
                }
               

                if(PINB.2==0) //tipka dol
                {               
                    if(menu==1)
                    {
                    ure--;
                    minute--;
                    }

                    if(menu==2)
                    {
                    minute--;
                    ure--;
                    }

                    Delay_ms(200);

                }
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
davide
Član
Član



Pridružen-a: Pet 10 Sep 2010 16:45
Prispevkov: 149
Aktiv.: 0.83
Kraj: Savinjska

PrispevekObjavljeno: Tor Jul 26, 2011 3:34 pm    Naslov sporočila:   Odgovori s citatom

sem poskusil zamenjati ta tvoj program v del kode in zanimivo, ko povečujem ure se minute ne spreminjajo, ko zmanjšujem ure, se minute spreminjajo po vrstem redu:
000, -25, -51, -76, 000....zanimimo res:DVery Happy
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Alex17
Član
Član



Pridružen-a: Ned 28 Feb 2010 21:46
Prispevkov: 476
Aktiv.: 2.56
Kraj: Ljutomer

PrispevekObjavljeno: Tor Jul 26, 2011 4:08 pm    Naslov sporočila:   Odgovori s citatom

Čudo tehnike.Very Happy Poskusi še interrupte izklopiti.

PS: Kaj pa se sedaj dogaja, ko povečuješ in zmanjšuješ minute (ko je menu == 2)
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
davide
Član
Član



Pridružen-a: Pet 10 Sep 2010 16:45
Prispevkov: 149
Aktiv.: 0.83
Kraj: Savinjska

PrispevekObjavljeno: Tor Jul 26, 2011 5:46 pm    Naslov sporočila:   Odgovori s citatom

ko je menu2 je vse enako kot če je menu1...čudno res...bom že pogruntal nkeje je mala napaka
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
davide
Član
Član



Pridružen-a: Pet 10 Sep 2010 16:45
Prispevkov: 149
Aktiv.: 0.83
Kraj: Savinjska

PrispevekObjavljeno: Čet Jul 28, 2011 5:36 pm    Naslov sporočila:   Odgovori s citatom

danes sem spet malo poskusil, vendar mi ne uspe, ekperiment z led diodo daje takšen rezultat, da če vrinem vrstico PORTC.2=ure&0x01; mi ta dioda lepo ob vsakem povečanju spremeljivke ure spremeni stanje (on,off,on,....), če napišem namesto tega PORTC.2=minute&0x01; se ne spreminja nič, če sem seveda v meniju 2, torej z izpoisom ni nič narobe, problem je s povečevanjem spremenljivke.
Mogoče je napaka v tem, ker sta v kodi dva različna pogoja, kaj se stori, ko je menu=2, najprej naj se spremeni napis na lcd zaslonu, v drugem pogoju pa naj se v tem meniju nastavljajo minute...???
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Osnove programiranja AVR-jev Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran Prejšnja  1, 2, 3  Naslednja
Stran 2 od 3

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 493 dni


Powered by phpBB © 2001, 2005 phpBB Group