Autor Tema: Guardar una posicion en la memoria  (Leído 1612 veces)

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

Desconectado TMC

  • PIC10
  • *
  • Mensajes: 7
Guardar una posicion en la memoria
« en: 11 de Diciembre de 2004, 16:54:00 »
Señores no me doy cuenta de como guardar un numero mayor a 1 byte en una memoria serie si alguien me puede ayudar lo agradeceria, y Feliz Navidad y Año Nuevo a todos los integrantes del foro.

Desconectado MarquesSalsero

  • PIC18
  • ****
  • Mensajes: 467
RE: Guardar una posicion en la memoria
« Respuesta #1 en: 12 de Diciembre de 2004, 07:23:00 »
Faltan datos para poder contestar. supongo que te refieres a memorias externas. Si es asi depende mucho de que memoria sea, ya que hay algunas que lo que graban son palabras de 16 bits y le tienes que dar los bytes de dos en dos.

En caso contrario es tan facil como guardar el high byte en memoria y el low byte en memoria+1 e incrementar el contador de memoria de dos en dos. Una forma facil de hacerlo es:

para posicion_de_memoria = 0 a numero_palabras_a_escribir
escribe high_byte en (posicio_de_memoria*2)
escribe low_byte en (posicio_de_memoria*2)+1
proxima posicion_de_memoria

el como implementarlo, en detalle, depende del lenguaje y memoria que pienses usar, ya que en algunos podrias hacer

para posicion_de_memoria = 0 a numero_palabras_a_escribir
escribe  en (posicio_de_memoria*2) , high_byte, low_byte
proxima posicion_de_memoria

Una vez que hayas conseguido guardar bytes individuales ( eso es lo primero ) veras que el guardar palabras de 16 o 64 bits, es muy simple.
Hay 10 tipos de personas las que entienden binario y las que no

Desconectado khasistos

  • PIC18
  • ****
  • Mensajes: 493
RE: Guardar una posicion en la memoria
« Respuesta #2 en: 12 de Diciembre de 2004, 13:31:00 »
Hola :
En el manual del Proton que lo puedes bajar free de la pagina de crownhill te explica en paginas 121 y 122 con las sencillas instrucciones BUSIN y BUSOUT  como grabar y leer un dato de una memoria externa solo definiendo la variable a grabar en 1  8 o 16 bits solito sabra las posiciones que debe utilizar para ello.

La variable a guardar como te dije se define como BITE =1 bit , BYTE =8 BITES ,WORD=16 BITES .

Echale una mirada y tambien tienes ejemplos de conexion veras que en Proton es sumamente sencillo..

Saludos

kHASISTOS

Desconectado Lager.

  • Moderadores
  • PIC18
  • *****
  • Mensajes: 477
RE: Guardar una posicion en la memoria
« Respuesta #3 en: 12 de Diciembre de 2004, 14:24:00 »
Como bien dice el pana Khasistos, solo leer  el Manual, puse un post de como leerlas y una muy breve explicacion, lo unico que tenes que hacer es guardar tu DATO en word,, o si es mas grande en DWORD, este ultimo dividirlos en hight y low word para procederlo a guardar, si usas este tipo de formato(word,dword,string) tendras que usar una variable direccion que lo soporte  es decir WORD.
Elmismo EJEMPLO del post "Manejo de EEPROMS externas"
------------------------------------------------------------------------------------------------------------
DEVICE 16F628A
CONFIG INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, CP_OFF, BODEN_OFF, LVP_OFF, MCLRE_OFF
ALL_DIGITAL ON
PORTB_PULLUPS ON
DECLARE LCD_DTPIN PORTA.0
DECLARE LCD_ENPIN PORTB.3
DECLARE LCD_RSPIN PORTA.4
DECLARE SDA_PIN PORTB.0
DECLARE SCL_PIN PORTB.1
Dim NUMERO As WORD
Dim VAR2 As WORD
Dim DIRECCION As WORD    "IMPORTANTE QUE SEA WORD, YA QUE SE USA
Cls                                              "UNA VARIABLE TIPO STRING
Clear DIRECCION
NUMERO = 10000
Print "SALVANDO EN ROM"   "COMPROBACION VISUAL DE ESCRITURA
BUSOUT %10100000,DIRECCION,[NUMERO]
DELAYMS 500
Clear DIRECCION
Cls
Print "LECTURA DE ROM"    "COMPROBASION VISUAL DE LECTURA
BUSIN %10100001,DIRECCION,[VAR2]
DELAYMS 500
Cls
Print DEC; VAR2           "IMPRESION DE DATOS,FORMATO TEXTO
DELAYMS 500
End
---------------------------------------------------------------------------------------------------------

Salu2 panas

Desconectado TMC

  • PIC10
  • *
  • Mensajes: 7
RE: Guardar una posicion en la memoria
« Respuesta #4 en: 12 de Diciembre de 2004, 15:21:00 »
Tenes razon Marques ,yo uso el pic basic pro,y es para guardar el dato dentro de un pic 16f876.Le agradesco a todos las respuestas, ya con todos estos datos tengo una idea mas clara de como guardar ese dato.