ckielstra
Joined: 18 Mar 2004 Posts: 3680 Location: The Netherlands
|
|
Posted: Fri Sep 19, 2008 6:56 pm |
|
|
Quote: | Actual Data (Hex) 00 22 0E 0E 83 01 81 00 FF C0 00 E0 FF 40
Expected Data (Hex) 00 22 0E 0E 83 03 81 00 FF C0 00 E0 FF 40 | The 03 value seems correct, see the datasheet Table 23-1, note 3. Quote: | 3: Unimplemented in PIC18FX620 and PIC18FX720 devices; maintain this bit set. |
But... Register 23-5, note 1 (page 240) mentions: Quote: | Note 1: Unimplemented in PIC18FX620 and PIC18FX720 devices; read as ‘0’. | So the documentation on this bit is confusing. I'm not sure what the correct value should be.
You didn't mention the fuses you have set in your program so I used the following configuration for testing: Code: | #fuses HS,NOWDT,PUT, NOPROTECT, NOLVP | My v4.077 generates the same 0x01. I don't have the latest compiler release so can't check if it has been changed.
Quote: | I have a program that was written and compiled with an earlier version compiler. | What was the version number of this old compiler? I tried with v3.249 and v4.038 but both versions generate a 0x01 instead of 0x03.
Which programmer are you using? ICD2, UCD40, etc?
Which IDE are you using? CCS, MPLAB, etc? And what version number?
A workaround:
If you have the CCS Windows compiler version you can use the Chipedit program to change the configuration fuses. Chipedit is available in the IDEUTILS package from the websites download section.
Select the PIC18F6720 device and in the top-right table change the fuse setting: Code: | MASK VALUE CW
RESERVED 0200 0000 3 to 0200 0200 3 |
|
|