Autor Tema: leer bit a blit a eeprom en lenguaje C  (Leído 2522 veces)

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

Desconectado electrowolf

  • PIC12
  • **
  • Mensajes: 56
leer bit a blit a eeprom en lenguaje C
« en: 16 de Noviembre de 2009, 00:13:36 »
Hola chicos
bien, de antemano gracias por la ayuda que me brinda, que Dios se las duplique.

lo que quisiera saber en este caso es lo siguiente, masomenos tengo la idea de como se guardan datos en la eepron del pic (por cierto toy usando 16f84A), segun yo con las instrucciones:

Eeprom_write (0xHX1,0xHX2), donde HX1 es la direccion de la eeprom y HX2 es el dato que quiero escribir

para leerla

temp=Eeprom_read (0xHX3) donde HX3 es la dir de la eeprom y se almacena en la variable temp.

si hay alguna otra forma de hacerlo mas facil osea qu lo pueda escribir en decimal mejor  :mrgreen:, les agradeceria me la pasen plz, aunque lo que verdaderamente nececito es que, una vez que se lea el valor de la eeprom, como puedo hacer para sacar su valor en forma serial a travez de un pin de un puerto.

supongamos que al leerse el valor se guarde en "temp" lo siguiente 5F, esto significaria que en binario tiene el valor 1011111, que seria lo que saldria por un solo pin, de la siguiente manera:

suponiendo que tenemos un led conectado al pin de salida, se encenderia, le coloco instrucciones para que espera y lea el siguiente bit, al mandar el valor, despues se apagaria y nuevamente el ciclo de espera y el siguiente bit, y despues se encenderia de nuevo y asi sucesivamente con los siguiente bits, luego leeria algun otro valor de la eeprom y lo mismo.

resitero, mucha gracias por el apoyo.

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: leer bit a blit a eeprom en lenguaje C
« Respuesta #1 en: 16 de Noviembre de 2009, 00:19:22 »
Hola electrowolf! Puedes escribir un numero decimal, con la precaución que en la dirección selecciones el rango correcto (Depende del tamaño de la eeprom del PIC) y en data sea entre 0 y 255.-

Despues para enviar un dato por el puerto es sencillo:

Código: C
  1. for(i=0;i<8;i++){
  2.      output_bit(PIN_A0,shift_right(&data,1,0));
  3.      delay_ms(1);
  4. }

En ese caso se saca por el pin A0 el valor que tenga data enviando el bit menos significativo (LSB) primero.


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


 

anything