TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: cheapekt en 02 de Octubre de 2008, 07:15:32
-
Hola señores, llevo unos meses haciendo un proyecto para comunicar un pic con el pc mediante rs485, al final lo consegui hacer, pero ahora tengo una duda, he estado observando el foro y he visto que existe la funcion srand() y rand(); que pertenece a la libreria <STDLIB.H>
Necesito crear una tabla de valores con 5 campos diferentes con 24 datos en cada campo y que cada vez que envie la tabla estos valores sean distintos. HE estado mirando y para crear numeros aleatorios, La semilla tiene que generarse en momentos diferentes, es decir cuando recibe una interrupcion desde el exterior, es decir que recibe un dato del ordenador( por ejemplo). Alguien puede darme alguna nocion de como crear esta tabla, estoy un poco perdido en este tema, muchas gracias de antemano.
Un saludo!
-
Puedes utilizar como semilla aleatoria una lectura del ADC con el pin al aire.
-
Lo siento pero he de añadir que cada tabla que envie tiene que tener la fecha de los datos, no se como hacer para que tenga un reloj continuamente contando para poder indicar en la tabla que envie la fecha, gracias de antemano
UN saludo!
-
para el reloj, prueba con un DS1307
-
Perfectoooo!!! muy amables!!!!
Tengo otra cuestión, estos datos es encesario que los grabe en memoria, pero como la memoria del pic es insuficiente, seria necesario que los datos los guardase en una memoria externa, casualmente he conseguido una de 1M, pero no se como hacer para poder guardar datos en ella y después recuperarlos para enviarlos al PC,
Alguien podría ayudarme en este tema,
Muchas gracias de antemano
-
tengo entendido k si es eeprom se realiza de una manera (i2c), el protocolo para acceder a ella he estado mirando y curiosamente hay una libreria en ccs que es "external_eeprom.c" alguien me puede dar mas informacion para poder realizar mi cometido, UN saludo
-
Por favor alguien me podria echar una mano para poder guardar datos en una memoria eeprom externa al pic para después recuperarlos y enviarlos al PC,
Cualquier ayuda es buena,
Estoy mirando info por interntet y he mirado las librerias de external_eepron.c, el ejemplo que viene en ccs "EX_EXTEE.C" pero no me acabo de alclarar, por favor ayudenme, muchas gracias
-
cheapekt no nos dice que memoria usarás, tienes que plantear primero la circuiteria, y después usa el buscador para hallar ejemplos grabando en memorias, en este mismo subforo hay un hilo con ejemplos.
http://www.todopic.com.ar/foros/index.php?topic=14634.msg89357#msg89357
-
Disculpen las molestias pero porque motivo no acepta la programación de CCS esta declaración,
float tabla_16_10_86 [7][24]= {
{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24},
{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24},
{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24},
{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24},
{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24},
{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24},
{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24},
};
me da el siguiente error Data item too big artículo de datos demasiado grande
¿Por qué no deja?
Gracias
-
Pues porque estas usando 672 bytes y no creo que tenga esa RAM el microcontrolador que estas usando.
Quiza si el tipo en vez de float lo pusieras a entero pdodrias pero aun serian 168 bytes.
7 X 24 X 4 = 672, el tipo float usa 4 bytes por dato para almacenar
Un saludo
-
¿Y entonces como puedo hacer para grabar todos estos datos en la memoria externa eeprom?
¿UNa pregunta.... alguien sabe d alguna libreria para grabar datos en una eeprom externa de 1M?
Muy amables
-
Hola.
Que referencia tiene la memoria????
Saludos
-
Todavia no la he comprado, quiero primero saber que memoria de 1M tiene libreria en CCS para luego comprarla y asi programarla, si me podeis ayudar
Gracias
-
He estado mirando y he visto una memoria eeprom con 1M de microchip, su referencia es 15LC1024 alguien podria ayudarme a poder guardar datos en ella y leerlos
-
15LC1024????
Puedes enviar algun link con el datasheet? no lo he encontrado
Saludos
-
UY uy uy mil perdones me he equivocado, la referencia es 25LC1024
http://www.alliedelec.com/Images/Products/Datasheets/BM/microchip/383-0794.pdf
gracias
-
Alguien m puede decir k libreria usar xa poder realizar el grabado en la memoria eeprom,?