PIC, consiglio per codice

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

Reply to
ice
Loading thread data ...

"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

Reply to
Anonymous

">" 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.

Reply to
pozz

Ciao!

Reply to
Stefano B.

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

Reply to
ice

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

Reply to
ice

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...

Reply to
Raen

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.