TODOPIC
Otros Microcontroladores / Dispositivos programables => Arduino => Mensaje iniciado por: Estorki en 26 de Febrero de 2012, 20:15:32
-
Buenas, estoy portando un proyecto muy interesante desde Arduino a PIC.
Ya lo tengo medianamente terminado, me compila el programa y tal pero he detectado una función que me da problemas y no se como portarla de manera satisfactoria
Versión arduino:
// Print on lcd a progmem string
void display_printMessage(const prog_char* str) {
char c;
if (!str) return;
while ((c = pgm_read_byte(str))) {
lcd.print(c);
str++;
}
}
Versión que he hecho yo y me está fallando en C:
void display_printMessage(signed char* str) { // Me llega una dirección de memoria de tamaño byte // Aldaketa: void display_printMessage(signed char* str) {
char c;
if (!str) return;
while (read_program_memory(str,&c,1)) { // Leo lo que hay en esa poición de memoria //read_program_memory(str,&c,1)
lcd_putc (c); // Imprimo el byte en el display
str++; // avanzo una posición de memoria y luego imprimire el siguiente char
}
}
Alguien podría ayudarme con ello? Estoy bloqueado y casi 3000 lineas de código dependen de esto.
-
Y cual es el problema que te genera??
-
Como guardas el string a enviar y como llamas a la función? Que error marca?