3.3.5 Escritura
en memoria flash
El datasheet del PIC16f887 menciona que; la programación en la memoria flash se escribe por bloques de
dieciséis palabras con dirección secuencial. La dirección se almacena en los
registros EEADR y EEADRH, mientras que cada palabra que será grabada, en los
registros EEDATA y EEDATH [28]. Estos cuatro registros se
localizan en el Banco2 de los
registros de funciones especiales del microcontrolador. En la Figura 3.14 se
muestra un fragmento de estos registros del PIC
y se señalan en color rojo los mencionados anteriormente.
Figura 3.14 Fragmento de
registros especiales del PIC16f887.
1.
Poner a
1 el bit EEPGD del registro EECON1.
2.
Escribir
55h (55 hexadecimal), después AAh en el registro EECON2.
3.
Poner a
1 el bit WR del registro EECON1.
4.
Poner
en no operación el procesador durante
dos ciclos [28].
Los dos ciclos que
el procesador se encuentra en no operación es el tiempo que se requiere para
grabar o escribir en la memoria flash.
Los registros utilizados para el protocolo se localizan en el Banco3 y se muestran en la Figura 3.14
señalados en color azul.
En la siguiente
figura se muestra un fragmento del código de ejemplo para grabado de memoria flash extraído del datasheet del PIC16f887,
en donde se puede observar este protocolo.
Figura 3.15 Protocolo de grabado de memoria flash.
Figura 3.16 Distribución de buffers.



No hay comentarios:
Publicar un comentario