TODOPIC

Microcontroladores PIC => dsPIC => Mensaje iniciado por: zer0007 en 28 de Septiembre de 2005, 06:02:00

Título: Variables C30
Publicado por: zer0007 en 28 de Septiembre de 2005, 06:02:00
Una curiosidad un problema que tenia y he arreglado.

OJO !!

long id;
unsigned , int_uno,int c_dos, c_tres, c_cuatro, c_cinco;

id = ((c_uno * 10000)+(c_dos * 1000)+(c_tres * 100)+(c_cuatro * 10)+c_cinco);

Esto me daba un error en el id aunque no overflow, el problema es que al hacer c_uno * 10000 no lo hace en una variable temporal pero del tipo de c_uno, por lo que el resultado no pasaba de  un unsigned int, lo que hay que hacer es declarar también c_uno como long y solucionamos el problema.
Título: RE: Variables C30
Publicado por: Nocturno en 28 de Septiembre de 2005, 06:11:00
También podrías usar la conversión momentánea del tipo:

long id;
unsigned int c_uno,int c_dos, c_tres, c_cuatro, c_cinco;

id = (((long)c_uno * 10000)+(c_dos * 1000)+(c_tres * 100)+(c_cuatro * 10)+c_cinco);
Título: RE: Variables C30
Publicado por: zer0007 en 28 de Septiembre de 2005, 06:19:00
Gracias Nocturno tu siempre al quite Giño
Título: RE: Variables C30
Publicado por: jorgepic en 01 de Marzo de 2006, 11:03:00
Escrito originalmente por nocturno66
También podrías usar la conversión momentánea del tipo:

long id;
unsigned int c_uno,int c_dos, c_tres, c_cuatro, c_cinco;

id = (((long)c_uno * 10000)+(c_dos * 1000)+(c_tres * 100)+(c_cuatro * 10)+c_cinco);
Título: RE: Variables C30
Publicado por: jorgepic en 01 de Marzo de 2006, 11:08:00
hola contactos dl foro soy nuevo en este foro y tengo problemas con las funciones del c30 (ADC)