During a new development we experienced critical problems with PIC 16F648A controllers (package DIP18, date code 03142Y3). We observed two malfunctions: 1. When writing data to port A, the port configuration in the TRISA register changed, so that one of the outputs became an input. This of course caused a malfunction in our circuit. Rewriting the TRISA register with the correct value helped somewhat, but did not completely solve the problem. We assume that the wrong bank (bank 1) was addressed during access of the port data register. 2. About two of three devices hang after having worked for several minutes, though the watchdog has been activated. This application makes extensive use of interrupts. We assume that incorrect RAM bank addressing causes this problem, too. We tested the same program (i.e. the same HEX file) with three different controller types: - PIC16F628 - runs well - PIC16F628A - runs well - PIC16F648A - problems occur Additionally, we used a PIC 16F873 and an 873A with an adapter and a small software modification, and both performed without problems. We assume that there is a critical detail in the internal structure of the controller. We do not know the exact cause of the failures, nor can we safely reproduce the problem in terms of a "recipe" to make it happen. Perhaps anyone experienced similar problems with these chips, or can give any hint? Thanks in advance for any response. -- Grzegorz Zalot complex ltd. office tel/fax : +48 32 2505840 mobil : +48 501 301515 http://www.complex.org.pl/ mailto:complex@alpha.pl -- http://www.piclist.com hint: PICList Posts must start with ONE topic: [PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads