Autor Tema: Necesito ayuda para rotar un numero y sacarlo por el lcd  (Leído 7552 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Necesito ayuda para rotar un numero y sacarlo por el lcd
« Respuesta #15 en: 12 de Abril de 2007, 15:49:00 »
De nada, me alegra que les vayan saliendo bien las cosas.
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: Necesito ayuda para rotar un numero y sacarlo por el lcd
« Respuesta #16 en: 12 de Abril de 2007, 15:50:53 »
Esta bien, si lo que quieres hacer es lo que explicas.

Lo que no veo bien es que manejes un dato de 16 bits que lo necesitas como en flotante, mediante el uso de dos bytes separados.
El CCS te permite manejar todo como un flotante, incluso enviarlo al puerto, no te olvides que en la memoria vas a tener datos en hexadecimal, y podrias llegar a tener problemas al querer enviarlo.

Marcos
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado BossDiablo

  • PIC10
  • *
  • Mensajes: 15
Re: Necesito ayuda para rotar un numero y sacarlo por el lcd
« Respuesta #17 en: 12 de Abril de 2007, 16:49:05 »

Lo que no veo bien es que manejes un dato de 16 bits que lo necesitas como en flotante, mediante el uso de dos bytes separados.
El CCS te permite manejar todo como un flotante, incluso enviarlo al puerto, no te olvides que en la memoria vas a tener datos en hexadecimal, y podrias llegar a tener problemas al querer enviarlo.

Marcos

hola

A q te refieres con esos problemas?? Yo creo q el numero 15 del ejemplo estara guardado como 0x0E en la memoria (Si no me equivoco), a la hora de enviarlo se transforma en un entero, ya q tengo puesto q el valor de la variable sea %u

Salu2

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Necesito ayuda para rotar un numero y sacarlo por el lcd
« Respuesta #18 en: 12 de Abril de 2007, 20:15:53 »
Marcos, usar un número entero para cálculos no está mal, es más , en muchos casos es muy recomendable!!

Por ejemplo, si uno por ejemplo quiere hacer un cálculo que será de quiere trabajar en milivoltios, se puede usar en coma flotante o  un entero.  De hecho si el elemento que adquiere los datos (como un A/D) solamente tiene precisión en saltos de a 1 valor y máximo 1023 valores, no hay inconvenientes en esto. 

Los cálculos se agilizan asombrosamente y muchas veces eso hace que el proyecto se pueda o no se pueda realizar con un pic en cuestión.

Te invito a que hagas una multiplicación


float a,b;

a = b*10.0;


y luego


long int a,b;

a = b*10;


y revisa cuanto demora una y otra operación. 

Saludos

- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado BossDiablo

  • PIC10
  • *
  • Mensajes: 15
Re: Necesito ayuda para rotar un numero y sacarlo por el lcd
« Respuesta #19 en: 13 de Abril de 2007, 12:51:30 »
Una ultima duda.  En referencia a la memoria eeprom 24LC256. El caso es q al compilar el programa no me da ningun error y yo veo que esta bien, pero cuando lo intento simular con el proteus 6.5 SP5 me da un error. Si quito las instrucciones de la memoria externa (init_ext_eeprom(), write_ext_eeprom(dir,men), value=read_ext_eeprom(dir)), funcionan perfectamente el resto de las cosas. El error es el siguiente:

PROSPICE -  Internal Exception: access violation in module 'ISIS.EXE'.
Real Time Simulation failed to start
Warning: [U1] at boot-up: No instruction cycles were executed - processor may never have made it out of reset!

Real Time Simulation FAILED.

Una parte del codigo es esta:

 //PcHi=read_ext_eeprom(dir); // Leer dato de EEPROM/
         delay_ms(1);
         dir++;
         //PcLo=read_ext_eeprom(dir);
         delay_ms(1);
         printf(" %u.%u ",PcHi,PcLo); // Envio dato a PC
         delay_ms(7);

Como veis tengo sesabilitado las funciones esas. La init_ext_eeprom() esta inicializada en el main

Salu2

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Necesito ayuda para rotar un numero y sacarlo por el lcd
« Respuesta #20 en: 13 de Abril de 2007, 14:51:31 »
Lo que entiendo del mensaje de error es que según dice, el microcontrolador nunca sale del estado de reset.

Te sugiero eches un vistazo a la sección de simuladores del foro y preguntes allí.  Te darán mas ayuda que acá.

PD: no uso proteus por eso no te puedo ayudar puntualmente en este caso.

Saludos
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)


 

anything