I have been having problems with this device, I found one error where the file in PB2.46 had bank error in the files, Melabs corrected 2 versions later. But I still have had problems.

After spending many hours looking at my code, and wondering why it works in 628A and not in 648A, I concluded that there must be something else causing my problems, so decided to dig deeper into the compiler files.

On looking at the M16F62XA.INC file, see below, and this is from PB2.60 (2.46 has the same), I think that this has an error.

I cannot test my theory at the moment as the unit is at work, so I will try tomorrow morning and see if this is a cure for my problems.

The 16F648A has 4k of code, not as stated below 2k, and it has 256 of EEE not 128 as stated.

Could someone please confirm that it should read

PIC16F648A equ 50081003h ; 14-Bit, 4K Code, 256 EE, ID = 3

Thanks



;************************************************* ***************************
; PIC16F62xA Family Header
; Copyright 1995, 2006 microEngineering Labs, Inc.
;************************************************* ***************************
NOLIST
; *** Default Device Specifications
DEVICE 3FFF3FFFh ; All Fuse Bits On
DEVICE 50040802h ; 14-Bit, 2K Code, 128 EE, ID = 2

; *** DEVICE Device Definitions
PIC16F627A equ 50020801h ; 14-Bit, 1K Code, 128 EE, ID = 1
PIC16F628A equ 50040802h ; 14-Bit, 2K Code, 128 EE, ID = 2
PIC16F648A equ 50081003h ; 14-Bit, 2K Code, 128 EE, ID = 3