TODOPIC
Microcontroladores PIC => - Niple - => Mensaje iniciado por: mcataldo en 21 de Octubre de 2009, 00:21:52
-
Hola a todos, por favor, el que sepa como ayudarme, respóndame. Estoy diseñando un sistema de control de temperatura, el cual pide al usuario que ingrese una temperatura de referencia. Es deseable que cada vez que se encienda el sistema, la temperatura de referencia ajustada "por default" sea la última seleccionada por el usuario, por lo cual en mi rutina hice que cada vez que se actualizaba el registro de temperatura de referencia este valor se guarde en le EEPROM y al inicializar la rutina se lea la EEPROM con este valor.
El problema surge para la primera vez que se encienda el sistema, para la cual no habrá und ato previo y será necesario establecer un valor fijo "de fábrica". Mi pregunta es como puedo hacer alguna especie de control de flujo (con un bloque de función lógica de comparación de niple, por ejemplo) para saber si es que la EEPROM está sin datos (primera vez) o con datos y de acuerdo a aquello defina la temperatura de referencia? Por ahí leí que los registros de la EEPROM vienen de fábrica con valor FF pero en niple no encuentro la opción para comparar los registros de EEPROM.
Discúlpenme si está un poco largo, pero quería dar toda la información para que se entendiera mejor.
Muchas gracias desde ya.
-
Primero que nada, con el programador que estes usando, tú puedes inicializar los valores de la EEPROM al valor que tu deseees.
ASí que puedes configurar un valor de "Fabrica", al programar tu micro.
Segundo, para comparar los registros de la eeprom, primero lees un valor, digamos la posición 0 de la EEPROM, usando para eso los bloques de NIPLE para leer la memoria Eprom, guardas ese dato en un registro temporal, y luego comparas si ese registro es igual al valor 255 (que es lo mismo que FF), si lo es, entonces la memoria no esta programada.
Espero te sirva.
Saludos!
-
Mike79
-
Muchas gracias Mike79.
-
Hola,
Al declarar un registro EEPROM le puedes asignar un valor predeterminado "Default".
Niple incluye este valor por default de los registros EEPROM en el codigo ASM.
Saludos
Jorge