Forum: Mikrocontroller und Digitale Elektronik Umstieg von 16F84A auf 16F628


von Thomas M. (tm112)


Lesenswert?

Hallo,

Der Prozessor hängt sich auf. Kann im Moment noch nicht genau sagen an
welcher Stelle, vermute aber irgendwo im Bereich Interrupt. Zumindest
läuft das Programm an und verrichtet sein Werk bis zu einer bestimmten
Stelle, bevor er abschniert. Der Code (vor Anpassung an den 628) lief
auf einem 16F84A einwandfrei.

Bisher wurde lediglich Folgendes angepasst:
list p=16F628
Include-Datei ausgetauscht (include <P16F628.inc>)
Variablen erst ab 20h

Etwas unruhig machen mich die Messages à la
Message[302] ... Register in operand not in bank 0.  Ensure that bank
bits are correct.

Sollte zwar nichts dramatisches sein, jedoch kam sowas bei der Variante
für den 16F84A nicht.

Warnungen sind 2 drin:
Warning[215] ... .ASM 7 : Processor superseded by command line.  Verify
processor symbol.
da steht im Quelltext:  list p=16F628, f=inhx8m, r=dec

Warning[205] ... .ASM 9 : Found directive in column 1. (__CONFIG)
da steht im Quelltext: __CONFIG  _CP_OFF & _PWRTE_ON & _WDT_OFF &
_XT_OSC

Worauf muss ich beim Umstieg noch achten - hatte Sprut's Seite schon
deshalb besucht. Bzw. wer hat noch Ideen, woran's haken könnte?
Speicher, Register, Bänke?

Thomas

von Feadi (Gast)


Lesenswert?

Hallo,

lies Dir mal das hier durch:
http://www.sprut.de/electronic/pic/fallen/fallen.html

Gruß, Feadi

von Thomas M. (tm112)


Lesenswert?

OK. Hatte es ja wie geschrieben schon durchgelesen. Fehler lag aber im
Quelltext selber. Code läuft, bis auf eine Kleinigkeit:

Die Schaltung hat einen softwaremäßigen RS232 implementiert (auch beim
16F84A). Der funktioniert wie er soll, jedoch gibt er die Steuerzeichen
10 und 13 (LF und CR) werden als Å ausgegeben ohne den gewünschten
Zeilenumbruch und Sprung auf Zeilenanfang auszulösen.

Hat da noch jemand Ideen?

Thomas

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.