PIC, consiglio per codice

Apr 20, 2004 6 Replies

Ciao! Avrei bisogno di un vostro parere. Il pic in questione è un 16f877a e lo programmo in C Vorrei sapere quele metodo è più veloce fra questi due per portare ad 1 i primi K bit della variabile N



metodo1: N=1; N


"ice" ha scritto nel messaggio

Certo che si può fare di meglio, basta fare una mascheratura ed usare un'operazione logica ovvero:

N OR 00001111

In questo caso metti a 1 i primi 4 bit della variabile N lasciando invariati gli altri

Oppure per portare a 0

N AND 11110000

Viceversa, metti a 0 i primi quattro bit lasciando invariati gli altri.

Ovviamente devi metteri gli 1 o gli 0 dove ti serve e devi sostituire AND e OR con i rispettivi simboli usati in C. Tieni presente che se usi un compilatore C serio tali istruzioni sono tradotte in assembler 1:1

Bye

">" ha scritto nel messaggio news:0echc.79669$ snipped-for-privacy@news3.tin.it...

Forse ice intendeva con un numero di bit ad 1 variabile e memorizzato nella variabile k.

Non avevo pensato alla tua soluzione che mi risparmia una differenza! Grazie ancora, Ciao!

Ciao! Il problema è che non conosco a priori quanti bit devo mettera a 1...

Il primo che hai detto....il ciclo for è in meno. Ciao. Raen.

"ice" ha scritto nel messaggio news:J88hc.108919$ snipped-for-privacy@news4.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