Autor Tema: Puntero a cadena [dudas]  (Leído 3137 veces)

0 Usuarios y 4 Visitantes están viendo este tema.

Desconectado Facundo

  • PIC10
  • *
  • Mensajes: 28
Puntero a cadena [dudas]
« en: 05 de Noviembre de 2010, 18:46:35 »
Hola gente!!!!
Tengo el siguiente código que basicamente crea una cadena en la FLASH de un 2550, y necesito acceder a estos elementos mediante un puntero.
Si creo la cadena asi como se muestra NO FUNCIONA pero si creo la cadena sin "const" si funciona, porqueeeeeeee.
El puntero si funciona en RAM pero no puedo hacer lo mismo en la FLASH.
Alguien me puede explicar que estoy haciendo mal o como se hace esto.

Muchas Gracias y suerte para todos!!!


Facundo


//.................................................
 const char uno [30]={

0x03,0x00,0x18,0x18,0x1C,0xFE,0xFE,0xFE,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x7F,0x7F,0x7F,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,
};

unsigned char *p;
unsigned char a=0;

void main(){
p =&uno[0];
a= p[0];
sleep();
}
//...............................................

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Puntero a cadena [dudas]
« Respuesta #1 en: 05 de Noviembre de 2010, 19:00:26 »
CCS no permite punteros a rom  :(


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado Facundo

  • PIC10
  • *
  • Mensajes: 28
Re: Puntero a cadena [dudas]
« Respuesta #2 en: 05 de Noviembre de 2010, 20:18:18 »
Opssss...  :?

Un pena que no se pueda.

Gracias Suky, quedo en deuda.

Saludos a todos.


   Facuando



Desconectado bmb

  • PIC18
  • ****
  • Mensajes: 423
Re: Puntero a cadena [dudas]
« Respuesta #3 en: 05 de Noviembre de 2010, 20:41:50 »
Dale una mirada a las páginas 48, 49 y 50 Using Program Memory for Data del Manual de CCS allí veo algo que te podría servir:

Saludos!

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Puntero a cadena [dudas]
« Respuesta #4 en: 05 de Noviembre de 2010, 20:53:15 »
Hay que probar  :? Muchas de las cosas con punteros dicen que funciona, intentas ponerlas en practica, no funcionan, les preguntas, NO contestan!  :5] Por eso mejor usar otros compiladores  :mrgreen:
No contesto mensajes privados, las consultas en el foro

Desconectado bmb

  • PIC18
  • ****
  • Mensajes: 423
Re: Puntero a cadena [dudas]
« Respuesta #5 en: 05 de Noviembre de 2010, 21:02:18 »
Hola Suky, claro con CCS siempre hay que probar.   A mi me ha parecido un buen compilador, aclarando que yo solo hago programas no muy complejos.  Algún día me animo y sigo tu tutorial de C18 que es el que me gustaría aprender.

Saludos!
« Última modificación: 05 de Noviembre de 2010, 21:26:49 por bmb »

Desconectado manwenwe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2211
Re: Puntero a cadena [dudas]
« Respuesta #6 en: 05 de Noviembre de 2010, 22:11:47 »
CCS no permite punteros a rom  :(


Saludos!

Que qué????????????????? jajajajaj

De verdad: respeto todas las posiciones pero no entiendo lo de CCS... Cuando empezé con C para PIC lo probé pero cuando vi que para poner en "alto" un pin tenías que llamar a una función precompilada "ouput(portb)"...o no se que.... dije: "madre mía del señor"... esto no es C... esto es "Sanscrito" jeje

Sinceramente: creo que si no diesen soporte para PIC16, 14, 12 y 10.... no "se comerian un rosco"...

Sin ánimo de ofender a nadie. Saludos.
Ojo por ojo y todo el mundo acabará ciego - Mahatma Gandhi -

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Puntero a cadena [dudas]
« Respuesta #7 en: 05 de Noviembre de 2010, 23:26:52 »
CCS es el Arduino de los PICs.  ;-)

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Puntero a cadena [dudas]
« Respuesta #8 en: 06 de Noviembre de 2010, 00:35:17 »
Tampoco hay que darle con un caño, es un compilador muy útil y sencillo de aprender. Tiene sus pro y sus contras, y las contras aparecen en códigos complejos que con paciencia pueden saltearse, pero hay casos que se hace imposible, pero bueno hay otras alternativas.  ;-)

Además de que puede trabajar, desde un PIC10 hasta un PIC18 casi sin inconvenientes, y hasta con dsPIC    :lol:



Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado manwenwe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2211
Re: Puntero a cadena [dudas]
« Respuesta #9 en: 06 de Noviembre de 2010, 14:21:38 »
Tampoco hay que darle con un caño, es un compilador muy útil y sencillo de aprender. Tiene sus pro y sus contras, y las contras aparecen en códigos complejos que con paciencia pueden saltearse, pero hay casos que se hace imposible, pero bueno hay otras alternativas.  ;-)

Además de que puede trabajar, desde un PIC10 hasta un PIC18 casi sin inconvenientes, y hasta con dsPIC    :lol:



Saludos!

No lo pongo en duda. Ademas, para poner un LCD o un puerto serie posiblemente sea más sencillo y rápido que C18... aunque me parece menos flexible.

Además puesto a dar caña tb habría que darle mucha caña a Microchip. Creo que deberían plantearse seriamente darle una vuelta de tuerca a su IDE o simplemente hacer que sus compiladores sean compatibles con alguna otra IDE más moderna como Eclipse. Luego está el tema compliadores/librerías: sacan micros mucho más potentes con periperícos modernos (PIC32MX) pero no sacan herramientas más potentes??? inexplicable!!!. Los que hicieron la librería gráfica se merecen un altar:decenenas de miles de lineas de código en C utilizando structs para emular objetos... structs declarados dentro de otros strcuts para emular herencia jejeje ejeje. Luego los que utilizamos las librerías nos volvemos locos buscando de donde viene el puntero...Por favor: un compilador en C++ YA!!!
Ojo por ojo y todo el mundo acabará ciego - Mahatma Gandhi -

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Puntero a cadena [dudas]
« Respuesta #10 en: 06 de Noviembre de 2010, 14:27:45 »
Tampoco hay que darle con un caño, es un compilador muy útil y sencillo de aprender. Tiene sus pro y sus contras, y las contras aparecen en códigos complejos que con paciencia pueden saltearse, pero hay casos que se hace imposible, pero bueno hay otras alternativas.  ;-)

Además de que puede trabajar, desde un PIC10 hasta un PIC18 casi sin inconvenientes, y hasta con dsPIC    :lol:



Saludos!

No lo pongo en duda. Ademas, para poner un LCD o un puerto serie posiblemente sea más sencillo y rápido que C18... aunque me parece menos flexible.

Además puesto a dar caña tb habría que darle mucha caña a Microchip. Creo que deberían plantearse seriamente darle una vuelta de tuerca a su IDE o simplemente hacer que sus compiladores sean compatibles con alguna otra IDE más moderna como Eclipse. Luego está el tema compliadores/librerías: sacan micros mucho más potentes con periperícos modernos (PIC32MX) pero no sacan herramientas más potentes??? inexplicable!!!. Los que hicieron la librería gráfica se merecen un altar:decenenas de miles de lineas de código en C utilizando structs para emular objetos... structs declarados dentro de otros strcuts para emular herencia jejeje ejeje. Luego los que utilizamos las librerías nos volvemos locos buscando de donde viene el puntero...Por favor: un compilador en C++ YA!!!


Bueno el IDE están trabajando  ;-) MPLAB X IDE. Ahora lo de las librerías es cierto, el otro día estaba estudiandolas un poco y es para quedar  :z)  :D :D
No contesto mensajes privados, las consultas en el foro

Desconectado manwenwe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2211
Re: Puntero a cadena [dudas]
« Respuesta #11 en: 06 de Noviembre de 2010, 14:46:28 »
No lo conocía suky: gracias!. Bajando: a ver que tal!. No había visto nada en la web de Microchip: y ahora tp lo puedo buscar xq parece caida XD

En cuanto a los compiladores/librerías ya te digo... en ocaciones tienes que tener dotes de adivinadora. Es graciosisimo cuando utilizando uno de estos "pseudo-objetos" te equivocas y llamas al de una "clase" en vez de al adecuado y el compilador evidentemente no te dice nada: pones en marcha el debugger y cuando paras te das cuenta que estás en "la absoluta nada", es decir, que el PIC no sabe ni donde está jajajajaja

En fin... la IDE-beta ya es suficiente por hoy: paciencia!
Ojo por ojo y todo el mundo acabará ciego - Mahatma Gandhi -