Sul manuale del compilatore C che uso (pcwh della ccs) leggo questo: bit_set(*6,1); // A crude way to set pin B1 high
Ecco io vorrei fare la stessa cosa ma con il pin C0... cosa devo mettere al posto di *6 per far riferimento alla porta C?
Grazie a chi saprà rispondermi
Didn't find your answer? Ask the community — no account required.
R
Regae
"ice" ha scritto nel messaggio news:OqNJd.768565$ snipped-for-privacy@news4.tin.it...
Mi sa che non puoi farlo! Il fatto che esista quell'istruzione per la porta B non è un caso... la porta B è una porta particolare... se ricordo bene ha un qualche registro in più, adesso non ho voglia di scaricarmi il datasheet del micro perché sono troppi mega, ma dagli un'occhiata!!!
Per fare la stessa cosa con il bit 0 della porta C dovrai fare una banalità:
PORTC |= 0x01;
Cioè alzare un bit del registro che contiene lo stato della porta!
J.
V
vatanen
6 è l'indirizzo di memoria che corrisponde alla PORTA B dei PIC16 (non 18). Per i PIC18 la PORTA B è 0xF81. Per scivere su un'altra porta devi sostituire 6 o 0x0F81 con:
PIC 16 PIC18
PORTA A 5 0x0F80 PORTA C 7 0x0F82 PORTA D 8 0x0F83 PORTA E 9 0x0F84
Quindi per settare il bit 1 della porta C a livello alto devi scrivere:
bit_set(*7,1);
L'espressione
PORTC |= 0x01;
non è direttamnete supportata dal CCS ( metre per il PICC HI-TECH si).
Si può comunque utilizzare se prima si dichiare l'indirizzo di PORTC, cioè:
#byte PORTC=7 // o 0x0F82 per PIC18
PORTC |= 0x01;
Altro sistema è :
#byte PORTC=7 // o 0x0F82 per PIC18 #bit bit1=PORTC.1
bit1=1;
Comunque gli indirizzi di tutti questi registri ( e molti altri tipo i TRISx) li trovi nei Data Sheet del micro utilizzato, alla voce TIPICAL FUNCTION REGISTER MAP del capitolo Memory Organization.
Ciao.
"Regae" ha scritto nel messaggio news:ScRJd.457313$ snipped-for-privacy@news3.tin.it...
V
vatanen
Errata corrige: Altro sistema è :
#byte PORTC=7 // o 0x0F82 per PIC18 #bit bit0=PORTC.0
bit0=1;
Mi era sfuggito che si parlava del bit0
"vatanen" ha scritto nel messaggio news:9FVJd.1085$ snipped-for-privacy@twister1.libero.it...
I
ice
Grazie 1000! Sei stato molto gentile e preciso Ho provato come mi hai consigliato ed ha funzionato subito :)
Ciao!
V
vatanen
Prego
"ice" ha scritto nel messaggio news:_Q8Kd.461275$ snipped-for-privacy@news3.tin.it...
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required
Report Content
You are reporting this content to the moderators. They will look at it
ASAP.