TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: Stoudemire en 15 de Octubre de 2008, 08:01:23
-
Saludos.
Estoy programando en C con PCW un 16F8 y querria transmitir desde el pc por puerto serie una cadena de caracteres para almacenar en memoria del pic.
El problema que tengo es que nose como tratar toda esa cadena de bits recibidos ya que la cadena puede variar su tamaño. Y al almacenarlo en memoria, nose como hacer para que cuando consulte la memoria saber donde empieza esa cadena de caracteres y donde acaba, es decir necesitaria algo como unos delimitadores.
Muchas Gracias. :g)
-
en la sana practica se suele recibir un byte de start y al final de la trama, sea cual fuere su longitud, se recibe un byte de final, incluso antes de este ultimo byte algunas veces se coloca un byte de cheksum. podrias describir de manera más detallada como es aquella trama. saludos :mrgreen:
-
Hola.
Mira aqui: http://picmania.garcia-cuervo.com/PICC.php#COMBUF232 (http://picmania.garcia-cuervo.com/PICC.php#COMBUF232)
Saludos
-
en la sana practica se suele recibir un byte de start y al final de la trama, sea cual fuere su longitud, se recibe un byte de final, incluso antes de este ultimo byte algunas veces se coloca un byte de cheksum. podrias describir de manera más detallada como es aquella trama. saludos :mrgreen:
micro_cadaver, te explico un poco mejor lo que pretendo realizar.
Desde un programa desarrollado en el PC, estilo consola de comandos, pasar un determinado comando por el puerto serie al PIC. Este comando consiste en crear una especie de archivo de texto en la memoria del pic.
Ejemplo:
>comando_para_crear_fichero nombre_fichero texto que se tiene que guardar en la memoria
Con esto crearia una especie de fichero de texto llamado "nombre_fichero" en la memoria del pic con el contenido "texto que se tiene que guardar en la memoria". Por ello busco poder guardar esto en memoria con alguna especie de delimitadores, de forma que posteriormente analice la memoria y pueda ver que hay un fichero de texto con el nombre "nombre_fichero".
-
Hola.
Hechale un vistazo al link que te postee. Ten en cuenta que la memoria del PIC es muy limitada, asi que los archivos de texto van a ser pequenos.
Saludos
-
Hola.
Hechale un vistazo al link que te postee. Ten en cuenta que la memoria del PIC es muy limitada, asi que los archivos de texto van a ser pequenos.
Saludos
La verdad es que tu link me soluciona parte de la duda, la comunicación de la cadena de texto entre el PC y el PIC pero sigo buscando solución al problema de como almacenar esto en la memoria para que luego pueda reconocerlo sin problema.
Ya se que la memoria es bastante limitada, por ello buscaba un pic con gran capacidad o algun tipo de almacenamiento externo al microcontrolador donde almacenar.
-
o no te entiendo o bien tes estas equivocando de conceptos,
Este comando consiste en crear una especie de archivo de texto en la memoria del pic. Con esto crearia una especie de fichero de texto llamado "nombre_fichero" en la memoria del pic con el contenido "texto que se tiene que guardar en la memoria".
eso parece un sistema FAT :? aunque guardando sus distancias, sin embargo es posible. Stoudemire la trama ( comando ) que viene de la pc al pic la has desarrollado tu? pues seria simple poner delimitadores a las tramas, asi por ejemplo:
para nombre de archivo : %archivo_01@
para contenido de archivo : &archivo_01@
donde el caracter "%" te indicara inicio de trama indicando el nombre del archivo. el @ es el final de esta trama.
donde el caracter "&" te indicara inicio de trama indicando el contenido del archivo. el @ es el final de esta trama.
algo asi es lo que pretendes hacer? :-/ o sigo sin entender :-)
-
o no te entiendo o bien tes estas equivocando de conceptos,
Este comando consiste en crear una especie de archivo de texto en la memoria del pic. Con esto crearia una especie de fichero de texto llamado "nombre_fichero" en la memoria del pic con el contenido "texto que se tiene que guardar en la memoria".
eso parece un sistema FAT :? aunque guardando sus distancias, sin embargo es posible. Stoudemire la trama ( comando ) que viene de la pc al pic la has desarrollado tu? pues seria simple poner delimitadores a las tramas, asi por ejemplo:
para nombre de archivo : %archivo_01@
para contenido de archivo : &archivo_01@
donde el caracter "%" te indicara inicio de trama indicando el nombre del archivo. el @ es el final de esta trama.
donde el caracter "&" te indicara inicio de trama indicando el contenido del archivo. el @ es el final de esta trama.
algo asi es lo que pretendes hacer? :-/ o sigo sin entender :-)
No, no consiste en delimitar la trama cuando es enviada, sino como delimitarla al almacenarla en memoria para diferenciar ese fichero de otros posibles ficheros futuros.
-
añap :mrgreen: entonces haz como en el sistema FAT, usa un bloque de memoria para enumerar una tabla tipo indice donde vas colocando las direcciones donde empiezan los archivos guardados, el tamaño lo puedes definir tu misma, luego cuando vas a la direccion apuntada empiezas a leer los caracteres y ahi puedes usar caracteres especiales para separa nombre de archivo de contenido de archivo ( caracteres que no sean ASCII).
ahora si? :D
-
añap :mrgreen: entonces haz como en el sistema FAT, usa un bloque de memoria para enumerar una tabla tipo indice donde vas colocando las direcciones donde empiezan los archivos guardados, el tamaño lo puedes definir tu misma, luego cuando vas a la direccion apuntada empiezas a leer los caracteres y ahi puedes usar caracteres especiales para separa nombre de archivo de contenido de archivo ( caracteres que no sean ASCII).
ahora si? :D
Si, algo asi es lo que pretendo hacer mas o menos. Ahora solo me queda saber cual de los metodos me dara menos problemas a la hora de implementarlo y tal...
-
Hola.
Perdona mi ignorancia micro_cadaver, pero cuales son esos caracteres no ASCII??? tengo entendido que el ASCII es un codigo que va desde 0x00 hasta 0xFF el cual es el rango que se puede lograr con 8bits.
Saludos
-
bueno me referia a un valor que no figure en esta tabla
http://www.cdrummond.qc.ca/cegep/informat/Professeurs/Alain/Images/ascii2.gif
:-) gracias por la aclaracion.