 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
marko1991 Neznanec

Pridružen-a: Sre 26 Maj 2010 20:46 Prispevkov: 9 Aktiv.: 0.05
|
Objavljeno: Sre Maj 26, 2010 9:02 pm Naslov sporočila: PC tipkovniva in PIC 16F877A |
|
|
Pozdravljeni!
Sem dokaj nov pri programiranju mikrokontrolerjev. Nardil sem nekaj preprostih programov v Hi-tech C, asembler pa mi je precej tuj.
Moj problem je sledeč, rad bi nardil en program, ko mi prebira tipko iz PC tipkovnice. Tipkovnica je povezana RC1=CLK, RC0=DATA, probam pa tudi delati brez sistemskih knjižnic, da bom bolj razumel same registre PIC-a. Zato bi prosil, če mi lahko gdo pomaga glede programa. |
|
Nazaj na vrh |
|
 |
marko1991 Neznanec

Pridružen-a: Sre 26 Maj 2010 20:46 Prispevkov: 9 Aktiv.: 0.05
|
Objavljeno: Sre Maj 26, 2010 10:36 pm Naslov sporočila: |
|
|
Koliko sem razumel do zdaj njegovo delovanje, naj bi ob spremembah CLK program skakal v interupt in v njem bi gledal stanje v mojem primeru na RC0. Tu se mi porodi pa novo vprašanje, kako pomikati bite.
Nisem pa prepričan, če je temu res tako. |
|
Nazaj na vrh |
|
 |
dragoon Član


Pridružen-a: Čet 03 Maj 2007 21:51 Prispevkov: 452 Aktiv.: 2.05 Kraj: Trojane
|
Objavljeno: Čet Maj 27, 2010 8:12 am Naslov sporočila: |
|
|
shift operator <<, >>
prav razmišljaš _________________ LP, Mitja |
|
Nazaj na vrh |
|
 |
marko1991 Neznanec

Pridružen-a: Sre 26 Maj 2010 20:46 Prispevkov: 9 Aktiv.: 0.05
|
Objavljeno: Čet Maj 27, 2010 9:29 am Naslov sporočila: |
|
|
Hvala za odgovor.
Torej to bi naj zgeledalo nekako takole, v interraptu:
int prejeto;
RC0=prejeto<<8; |
|
Nazaj na vrh |
|
 |
dragoon Član


Pridružen-a: Čet 03 Maj 2007 21:51 Prispevkov: 452 Aktiv.: 2.05 Kraj: Trojane
|
Objavljeno: Čet Maj 27, 2010 4:15 pm Naslov sporočila: |
|
|
ne.
uporabi še maskiranje (bit mask) in obrni izraz okoli (če bi rad bral stanje). _________________ LP, Mitja |
|
Nazaj na vrh |
|
 |
marko1991 Neznanec

Pridružen-a: Sre 26 Maj 2010 20:46 Prispevkov: 9 Aktiv.: 0.05
|
Objavljeno: Čet Maj 27, 2010 10:11 pm Naslov sporočila: |
|
|
Tu si me pa dobil!
Ne spoznam se glih na maskiranje pa mi ni glih jasno. Te lahko prosim če pokažeš na kakem primeru.
Drugače pa ne gre da bi: prejeto=RC0>>1;
Jas si tu predstavljam da vsakokrat ob prekinitvi mi stanje na RC0 Shifta za en bit. pa po 8 bitih imam stanje ki sem ga prejel iz tipkovnice.
LP Marko |
|
Nazaj na vrh |
|
 |
dragoon Član


Pridružen-a: Čet 03 Maj 2007 21:51 Prispevkov: 452 Aktiv.: 2.05 Kraj: Trojane
|
Objavljeno: Pet Maj 28, 2010 6:38 am Naslov sporočila: |
|
|
Koda: |
prejeto<<i++;
prejeto|=RC0; |
ali:
Koda: |
prejeto<<i++;
prejeto+=RC0; |
ali:...
s tem, da imaš i globalno, na začetku 0, povečaš ob vsakem prejetem bitu in ko je prejet zadnji ga postaviš nazaj na 0.
maskiranje pa pride v poštev ko boš pošiljal bite. _________________ LP, Mitja |
|
Nazaj na vrh |
|
 |
marko1991 Neznanec

Pridružen-a: Sre 26 Maj 2010 20:46 Prispevkov: 9 Aktiv.: 0.05
|
Objavljeno: Tor Jun 01, 2010 10:04 am Naslov sporočila: |
|
|
Hvala za pomoč, zdaj mi je jasno. LP |
|
Nazaj na vrh |
|
 |
|
|
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: 494 dni
Powered by phpBB © 2001, 2005 phpBB Group
|