1.6.1 FSR Shadow Registers Are Not Writable
Writing to the FSR Shadow Registers does not result in accurate values being stored in the registers. Consequently, reading the FSR Shadow Registers after they have been written will return inaccurate data.
Work around
Writes to the FSR shadow registers can be performed safely using the following steps:
- Save regular FSR2 value into RAM.
- Write the regular FSR2 with the targeted value minus the computed offset (IR[6:0] + 1, see below).
- Write the shadow FSRxL (data doesn't matter), this will clock the shadow FSR with the FSR computed offset value.
- Decrement FSR2 value by 1 since FSRxH increments the address by 1 (IR[6:0]).
- Write FSRxH.
- Restore the regular FSR2 from the stored RAM value.
The FSR shadow should have the value desired and the regular FSR should have the original value.
Affected Silicon Revisions
D1 | D3 | E0 |
X | X |