Buenas noche Foro, como andan??
Viendo en el help de CCS, se puede usar #ROM para que al momento de grabar el PIC se guarde un determinado valor. En el ejemplo ponen algo similar como: #ROM 0x2100 = { 0x55, 0xAA }
Ahora mi duda :
Como saber cual es el address de la ROM... uso un PIC16F1826, con 2k (2048) de flash y 256 de EEPROM, en el datasheet aclara que el acceso a la EEPROM se hace de forma indirecta, pero no logro entender si se encuentra al final de los 2k de flash o donde...
Si coloco #ROM 0x0000 = { 0x55, 0xAA } me da error al compilar...
a partir de #ROM 0x0045 ya compila bien... pero mi 55 y AA no están donde quiero....
Si quiero grabar en la quinta posición, cual debería ser la dirección??
Otra cosa, en la siguiente función, ya estoy utilizando 4 posiciones para grabar unos datos, y funciona correctamente.
Debería usar algun #ORG para reservar memoria?? Talvez esté mezclando las cosas, soy novato en el tema!
void off(char i) {
if(current_value[i] >= MIN) { // si el valor nuevo en menor que MIN
new_value[i] = APAGADO; // cargamos valor de OFF (0x00)
last_value[i] = current_value[i]; // Guarda último valor de dimmer en RAM
if(last_value[i] != read_EEPROM(i)) { // Si el último valor cambió al de la EEPROM
write_eeprom (i, last_value[i]); // entonces lo guarda
}
canal[i].off_action = 0; // trabajo realizado, desactivamos flag de apagado
}
}
aquí el datasheet del micro que estoy usando!! Muchas gracias por la paciencia / Saludos
http://ww1.microchip.com/downloads/en/DeviceDoc/41363A.pdf