Autor Tema: Dato 12 bits en flash  (Leído 2540 veces)

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

Desconectado Sispic

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1700
    • winpic800
Dato 12 bits en flash
« en: 09 de Diciembre de 2003, 00:51:00 »
Estoy utilizando para insertar valores en le flash esta directiva :
 
 DW valor_12_bits

pero ocupa 2 posiciones en la flash y pone el byte alto en una posicion y el bajo en la siguiente .

Sabriais si existe alguna otra directiva para que ocupe solo una posicion .
Los valores que uso son menores de 3FFFh. y es una lastima ya que tengo que usar el doble de memoria con este sistema .

saludos .
sisco

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7918
RE: Dato 12 bits en flash
« Respuesta #1 en: 09 de Diciembre de 2003, 05:19:00 »
En PBP podes escribir uno solo de los bytes utilizando la instruccion Valor.LowByte, siendo Valor la word sobre la que quieres guardar su valor.
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado Sispic

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1700
    • winpic800
RE: Dato 12 bits en flash
« Respuesta #2 en: 09 de Diciembre de 2003, 09:09:00 »
gracias por contestar marcos , pero es que quiero aprovechar los12 Bits de cada posicion de la flash

Desconectado jorgeansuini

  • PIC18
  • ****
  • Mensajes: 340
RE: Dato 12 bits en flash
« Respuesta #3 en: 09 de Diciembre de 2003, 09:58:00 »
Buenas:

A lo sumo podrias hacer alguna rutina para grabar 2 registros de 12 bit (osea 24 bits) en 3 registros de la eeprom ,ya que estos son de 8 bit.-

Si te alcanza la cantidad de registros del micro como para usar registros dobles, ni pensar en hacer todas esas conversiones.-
Saludos
Jorge

Desconectado Sispic

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1700
    • winpic800
RE: Dato 12 bits en flash
« Respuesta #4 en: 09 de Diciembre de 2003, 10:43:00 »
si jorge , pero no me refiero a la eeprom si no a la propia flas del pic que son registros de 12 bits .

ejemplo :

0x0000 : 287F 3FFF 3FFF 0008

Esto son los valores de las cuatro primeras posiciones

Lo que intento hacer es escribir valores directatemte en la flash en tiempo de compilacion y que aprobeche los 12 bits ya que usando la directiva "DW valor"  escribe el byte alto en una posicion y el bajo en la siguiente

En tiempo de ejecucion de programa no hay problema ya que se puede leer y escribir sin problemas en ella , a un 16f876 me refiero .

He mirado el manual Mpasm , pero no maclaro .

unos saludos .
sisco


 

anything