int16 c;
int16 analg_b,analg_a,val_dac;
signed int16 ADC;
ADC=read_adc(); // ADC=dato digital del ADC
analg_b= ADC;
analg_a= ADC>>8;
val_dac=(analg_a<<8)|analg_b;
RA5=0; // Activo el DAC
c=val_dac;
SPI_Envia (c); // Envía dato
RA5=1; // Desactivo el DAC
int16 SPI_Envia ( int16 c)
{
SSPBUF = c; // Envia dato
while (! BF ); // Espera a que se transmita
return SSPBUF ;
}Pero allí no estoy mandando 16 bits.... estoy enviando 8bits de la manera en que lo planteas! porque al rotarlo dos veces hacía la derecha no le estaria quitando 2 bits al dato de 10 bits el cual me quedará en 8 bits????
Atte: Enigma... La llanerita de Guayana :D
Aja ya va... pero es que igual si la variable es de 16 bts y la rotas, pues no estaría manando 14 bits por el bus....?
Ummm creo que no estoy entendiendo bien....
En realidad no se modifica el tamaño de la palabra de bits cuando le hago la rotación?
Mierrrr :shock: toda mi vida he tenido un concepto errado acerca de esto....
Aja, pero entonces que es lo que sucede con la rotación.....?