|
|
|
||||||||
| Arcade | Registrazione | Blogs | Regolamento | Feedback | FAQ | Lista Utenti | Calendario | Segna come Letti |
| Ultimi 5 blog pubblicati su PcTuner Blog | ||||||
|
||||||
![]() |
|
|
Strumenti Discussione | Modalità Visualizzazione |
|
|
#1 |
|
Credendo Vites
|
Cosa significa e come si interpreta questo costrutto?
Ciao a tutti,
__________________Stò cercando di replicare una sorgente assembly alquanto complessa ed ho incontrato nel cammino questo tipo di costrutto: #define TOKEN_ACK (0x02<<2) Io vorrei ora sapere: cosa significa e come interpreto quel (0x02<<2) ? Potrebbe significare qualcosa del tipo i soli due bit meno significativi della costante 0x02 sono gli unici a dover rimanere immutati? Oppure sono gli unici a poter variare? Oppure cosa? Nelle istruzioni assembly l'operatore << indica un'operazione di shift ma, in questo caso, associato ad una define che non fa altro che associare una costante numerica ad un'etichetta non credo abbia molto senso. Qualcuno di voi ha mai incontrato prima questa istruzione? Sa illuminarmi su cosa significa?
Il tempo è il miglior maestro, purtroppo uccide tutti i suoi allievi.
|
|
|
|
|
|
#2 |
|
Registered User
|
E' proprio uno shift a sinistra di 2 volte.
__________________0x02<<2=0x08 E' una costruzione che uso molto soprattutto per definire la potenza di 2 di un numero. Un esempio reale: Codice:
#define P_BUZZ PORTBbits // Port del buzzer.
#define B_BUZZ RB5 // Bit del buzzer.
#define BB_BUZZ 5 // Bit del buzzer.
#define P_LED PORTBbits // Port del LED.
#define B_LEDV RB1 // BIT del LED.
#define B_LEDR RB2 // BIT del LED.
#define B_LEDG RB3 // BIT del LED.
#define BB_LEDV 1 // BIT del LED.
#define BB_LEDR 2 // BIT del LED.
#define BB_LEDG 3 // BIT del LED.
#define PBTRIS ~(1<<BB_LEDV | 1<<BB_LEDG | 1<<BB_LEDR | 1<<BB_BUZZ)
.
.
.
void main(){
TRISA = PATRIS;
TRISB = PBTRIS;
TRISC = PCTRIS;
TRISD = PDTRIS;
TRISE = PETRIS;
// La direzione del port E al reset è analogica. Vedi manuale a pag.95.
Quindi preparo le cose im modo che i bit in uscita vengano messi a 0. In questo modo non mi devo preccupare se un'uscita cambia bit.
Camillo
Internet ti fa vedere tutto ma non ti fa toccare niente. (Camillo Ferrari) |
|
|
|
![]() |
Per le vostre immagini su questo forum potete usare PcTunerUp! Iscriviti gratuitamente alla nostra newsletter. |
| Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 visitatori) | |
| Strumenti Discussione | |
| Modalità Visualizzazione | |
|
|