Autor Tema: Mente Bloqueada!!! - WRITE/READ  (Leído 1776 veces)

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

Desconectado Abago

  • PIC24F
  • *****
  • Mensajes: 792
Mente Bloqueada!!! - WRITE/READ
« en: 14 de Mayo de 2004, 15:26:00 »
Mi mente ha quedado bloqueada!!!
Demasiadas ideas, para la pequeña parte que utilizo de mi cerebro....

lo que ando haciendo, es intentar guardar los estados de las variables flag que he creado en mi programa
----
onof var bit

start:
read 1,onof

inicio:
portb.1 = onof

if portb.0 = 1 then
   toggle onof
   write 1,onof
endif

goto inicio
---

asi, a groso modo, si el pic, se reinicia dios quiera que nunca ocurra
entramos en la etiqueta start, y restauramos la variable onof

y luego nos quedamos dando vueltas en el bucle inicio variando el estado del led que tengo conectado a portb.1

si detectamos cambio de estado en el portb.0, cambiamos en estado de la variable onof y la guardamos en la eeprom.

la variable onof, solo puede tener los valores 0/1... bueno, esto lo hace bien, y lo guarda en la eeprom bien, pero no me enciende o apaga el led que tengo en portb.1

alguna sugerencia?
pienso que puede ser porque el valor se almacena en el bit 0 de la posición 1 de la eeprom....

se que la pregunta, es algo simple, pero mi mente, se a atascado...

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7912
RE: Mente Bloqueada!!! - WRITE/READ
« Respuesta #1 en: 14 de Mayo de 2004, 15:42:00 »
No tiene nada que ver con las instrucciones de lectura o escritura.
Piensa lo siguiente:
Con la instruccion de escritura modificaste solo el bit 0 del byte en memoria, ignorando como estaban los demas...
Luego comparas y asignas el byte de EEPROM a un solo bit !!

Sugiero que pruebes asi:
portb.1 = onof.0

Suerte!!
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado Abago

  • PIC24F
  • *****
  • Mensajes: 792
RE: Mente Bloqueada!!! - WRITE/READ
« Respuesta #2 en: 14 de Mayo de 2004, 23:00:00 »
Pero onof lo declaré como una variable bit, no byte.
En todo caso, tendría que declarar onof como byte, y asignarle el valor leido por READ, y finalmente asignar el bit0 de onof a portb.1

onof var byte
read 1,onof
portb.1 = onof.0

No???

Como puedo leer el bit0 de la posición de la eeprom a la variable bit???

Desconectado khasistos

  • PIC18
  • ****
  • Mensajes: 493
RE: Mente Bloqueada!!! - WRITE/READ
« Respuesta #3 en: 15 de Mayo de 2004, 08:14:00 »
Hola
Cambiale toggle por if portb.0=1 then
onof =0
write 1,onof
delay 30
endif

dale retardo pues para grabar la eeprom necesita 10 ms y cambia el toggle a ver que pasa ok
Saludos
khasistos

Desconectado Abago

  • PIC24F
  • *****
  • Mensajes: 792
RE: Mente Bloqueada!!! - WRITE/READ
« Respuesta #4 en: 15 de Mayo de 2004, 14:31:00 »
Realmente, funciona, y el error está en lo que comenta MGL...
Lo que hace la función write, es guardar el bit onof en el byte de memoria...
una vez que hago el cambio, quito el pic del circuito, lo leo y a quedado guardado perfectamente
aparentemente el problema, está en el READ, que lee el byte de memoria y lo guarda en la variable onof que es bit... y parece que guarda el bit1 , no el bit0.

la opción sería poder leer selectivamente el bit1 de la posición de la eeprom.
Pero me parece que esto lo voy a tener que hacer en asm..


Desconectado khasistos

  • PIC18
  • ****
  • Mensajes: 493
RE: Mente Bloqueada!!! - WRITE/READ
« Respuesta #5 en: 15 de Mayo de 2004, 14:44:00 »
Hola ,pues si tu le estas diciendo que guarde en la SEGUNDA posicion de memoria ,donde quieres que lo guarde? si no ponle write0,onof y lo guardara en la primera
Saludos
khasistos

Desconectado Abago

  • PIC24F
  • *****
  • Mensajes: 792
RE: Mente Bloqueada!!! - WRITE/READ
« Respuesta #6 en: 15 de Mayo de 2004, 16:09:00 »
de este modo, guardaré el bit onof el el bit0 de la posición 0 de la eeprom...
la pega, está en que al leer, parece que me lee el bit1 de la posición 0 de la eeprom, o que al intentar meter un byte de la eeprom dentro de la variable bit onof hace lo que le viene en gana

vamos, mas que lo que le viene en gana, lo que yo le mando, pero parece que lo que yo mando, no es lo correcto.

Desconectado khasistos

  • PIC18
  • ****
  • Mensajes: 493
RE: Mente Bloqueada!!! - WRITE/READ
« Respuesta #7 en: 15 de Mayo de 2004, 22:41:00 »
hola si ya se a que te refieres me ha pasado,cambiale la variable de bit a byte y te lo leera bien ,ya se que solo utilizas 1 bit pero ocupale todo el espacio disponible ok
saludos
khasistos