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

Pridružen-a: Tor 27 Feb 2007 20:45 Prispevkov: 335 Aktiv.: 1.50 Kraj: Lj
|
Objavljeno: Pon Mar 16, 2009 4:23 pm Naslov sporočila: C51 poimenovanje bita (uVision3) |
|
|
Nastal je problem ko sem hotel poimenovati bite porta 4 in 5 na lpc954. Prevajalnik mi je javil tole napako:
error C146: 'P5': invalid base address
Potem sem tule prebral da mora biti nasov registra poravnan na 0 ali 8 (hex).
Naslovi registrov pa so taki:
/* BYTE Registers */
sfr P0 = 0x80;
sfr P1 = 0x90;
sfr P2 = 0xA0;
sfr P3 = 0xB0;
sfr P4 = 0xB3;
sfr P5 = 0xB4;
Kako potem poimenovat bite teh registrov(za lažjo uporabo)? Mimogrede poimenovani niso niti v reg952... Je sploh mogoče?
Pa ravno na ta port sem postavil LCD  |
|
Nazaj na vrh |
|
 |
. Član

Pridružen-a: Pon 23 Avg 2004 16:16 Prispevkov: 16777190 Aktiv.: 70810.79
|
Objavljeno: Pon Mar 16, 2009 7:20 pm Naslov sporočila: |
|
|
Brisana vsebina odstranjenega uporabnika. |
|
Nazaj na vrh |
|
 |
krupivnk Član

Pridružen-a: Tor 27 Feb 2007 20:45 Prispevkov: 335 Aktiv.: 1.50 Kraj: Lj
|
Objavljeno: Pon Mar 16, 2009 8:02 pm Naslov sporočila: |
|
|
Mislim da me nisi prav razumel  |
|
Nazaj na vrh |
|
 |
tonko Član


Pridružen-a: Sob 25 Jun 2005 13:45 Prispevkov: 541 Aktiv.: 2.28 Kraj: Črnomelj
|
Objavljeno: Pon Mar 16, 2009 11:46 pm Naslov sporočila: |
|
|
Varianta 1.:
#define PORT4_0_SET P4 |= 0x01 //postavi bit P4.0 na 1
#define PORT4_0_CLR P4 &= ~0x01 //briše bit P4.0 na 0
Varianta 2.:
Če stanja izhodnega porta ni možno brati dodaš še eno spremenljivko v bdata.
Spremeniš želeni bit v p4_mem potem pa ga prepišeš na port 4.
V tem primeru moraš vedno najprej spremeniti stanje v p4_mem potem pa le to
prepisati na P4, nikoli direktno vpisovati v P4 !
bdata unsigned char p4_mem=0;
sbit p4_bit0 = p4_mem ^ 0; // bit 0 v p4_mem
sbit p4_bit1 = p4_mem ^ 1; // bit 1 v p4_mem
sbit p4_bit2 = p4_mem ^ 2; // bit 2 v p4_mem
sbit p4_bit3 = p4_mem ^ 3; // bit 3 v p4_mem
sbit p4_bit4 = p4_mem ^ 4; // bit 4 v p4_mem
sbit p4_bit5 = p4_mem ^ 5; // bit 5 v p4_mem
sbit p4_bit6 = p4_mem ^ 6; // bit 6 v p4_mem
sbit p4_bit7 = p4_mem ^ 7; // bit 7 v p4_mem
#define PORT4_0_SET {p4_bit0 = 1; P4 = p4_mem;}
#define PORT4_0_CLR {p4_bit0 = 0; P4 = p4_mem;}
#define PORT4_1_SET {p4_bit1 = 1; P4 = p4_mem;}
#define PORT4_1_CLR {p4_bit1 = 0; P4 = p4_mem;}
itd... |
|
Nazaj na vrh |
|
 |
. Član

Pridružen-a: Pon 23 Avg 2004 16:16 Prispevkov: 16777190 Aktiv.: 70810.79
|
Objavljeno: Tor Mar 17, 2009 1:00 am Naslov sporočila: |
|
|
Brisana vsebina odstranjenega uporabnika. |
|
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
|