Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Problem with a code for PIC16F877A, that works on 877

Status
Not open for further replies.

UroBoros

Advanced Member level 2
Joined
May 5, 2004
Messages
642
Helped
19
Reputation
38
Reaction score
8
Trophy points
1,298
Location
Cochin - India
Activity points
6,463
PIC16F877A Problem

Hello Everybody,
I have a strange experience with 877A.

see the following code

start inst1
inst2
call label 1
****
****
call label2
goto start


label2 inst
inst
call label3
return

label3 inst
inst
return


A 'return' immediatly after a 'call' doesnt work on 877A.But is working perfectly on my 877.
Please explain. I am using this with a bootloader programe.Will that create any problem

Thanks for reading
 

Re: PIC16F877A Problem

Check the errata sheets for the 16F877A:
https://ww1.microchip.com/downloads/en/DeviceDoc/80133f.pdf
https://ww1.microchip.com/downloads/en/DeviceDoc/80128f.pdf

I personally stay away from all Microchip "A" types :-(

3. Module: Core
Certain code sequence and placement may cause
the corruption of a few bits in the instruction fetch
when the part is used above 4 MHz. A corrupted
instruction fetch will cause the part to execute an
improper instruction and result in unpredictable
outputs.
Microchip cannot predict which code sequences
and placement will cause this failure. If this failure
mechanism exists in your system, it should be evi-dent
during statistically significant preproduction
testing (minimum suggested sample size 100
units) of your particular code sequence and
placement.
Any code change should be tested in the same
manner prior to their implementation. If most parts
fail your tests, or if failures are seen at all voltages
or at all frequencies, this indicates that the problem
experienced does not relate to this failure
mechanism.
This problem has not been observed at operating
frequencies below 4 MHz.
Work around
Use the part at or below 4 MHz.
This problem is specific to Rev. B0 and has been
resolved by Rev. B2 of the silicon (date codes later
than 0242xxx).

best regards
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top