Und schon wieder eine Anfängerfrage

Gast #43576
Lesenswert?

Hallo zusammen,


ich habe mich auf PIC-Prozessoren geeinigt, dazu habe ich jetzt ein
paar Fragen:

-Register: Jedes Register liegt warscheinlich bei jedem Proz woanders,
oder ?

-Wo bekomme ich diese Informationen her (für den entsprechenden PIC) ?
 (z.B.: w_test Equ 0x21)

-Welche register kann / darf ich benutzen ?

-Welchen Wert kann ein Register maximal aufnehmen ?

-Wie kann ich verschiedene Interrupts erzeugen, bzw. Abfangen (High an
PortA oder Zeitablauf)...

-Was bedeutet diese Fehler- / Warnmeldung ?

Message[302] C:\PIC\WATCHDOG\MAIN.ASM 71 : Register in operand not
in bank 0.  Ensure that bank bits are correct.

hier der source:

  clrf  nSec;
  clrf  nMin;
  bsf     STATUS, RP0  ; auf Bank 1 umschalten
  movlw  B'00000000'  ; PortB alle output
  movwf  TRISB

-Wofür steht dieser Befehl:         org    4 ?




___________________________________________
Ich möchte eine Schaltung realisieren, die ca. 15Min. auf ein Signal
von der RS232-Schnittst. wartet, wenn Signal kommt, dann soll der timer
zurückgesetzt werden, wenn 15 Min. nichts kommt soll ein PIN auf PortB
High-Pegel haben...

Hat sowas schon jemand gemacht ?


Besten Dank für alle Antworten ...
Gast #43577
Lesenswert?

Zu jedem PIC gibt es ein Datenblatt (engl. Datasheet), in dem alle
Informationen stehen. Die Datasheets kannst Du von Microchips Hompage
(www.microchip.com) runterladen. Auch ein Handbuch (Manual) zum MPASM
ist dort downzuloaden, in dem alle Meldungen erläutert sind.

Dein Projekt hört sich nach WatchDog an, ist nicht besonders schwierig.
Was heisst den "auf ein Signal warten". Soll auf eine Pegeländerung
einer Leitung oder auf ein Datum gewartet werden? Falls auf ein Datum
gewartet werden soll, würde ich einen PIC mit USART (serielle
Schnittstelle) nehmen.

MfG
Andreas Jäger
#43578
Lesenswert?

Deine Fehlermeldung läßt jeden Nicht-PIC-Benutzer vor Schadenfreude
tanzen :-)

Du must Dich damit abfinden, daß bei den PICs ein Großteil der
Programmierung Dich mit der Banküberwachung und Bankumschaltung
belästigt. Das gilt sowohl für die Daten (RAM) als auch den Code
(Flash). Dies hat auch zur Folge, daß der PIC-Code nicht verschiebbar
ist.

Andere Familien (z.B. 8051, AVR) kennen solche Fehlermeldungen nicht,
da sie einen linearen Adreßbereich haben.
Da ist der Code auch verschiebbar, d.h. man kann eine Routine an
beliebiger Stelle einfügen und sie wird immer korrekt ausgeführt.


Zu Deiner anderen Frage. Üblicherweise gibt es zu jedem Derivat ein *.h
oder *.inc-File, wo die entspechenden Register definiert sind. Sollte
also bei den PICs auch so sein. Dieses File wird dann oben per
"include" in Dein Programm mit eingebunden.



Peter
Gast #43579
Lesenswert?

@Peter

Nur zur Info:
1) Die Meldung ist eine "Message", keine Fehlermeldung! Wen sie
stört, der kann sie unterdrücken.

2) Die Code-Verschiebbarkeit hat weniger mit der Bankauswahl als
vielmehr mit Page(boundaries) zu tun.

3) Bei anderen Controllern (8051, AVR...) gibt's bestimmt auch so
einiges zu beachten - Mitdenken beim Programmieren ist immer von
Vorteil ;-)

MfG
Andreas Jäger
Gast #43580
Lesenswert?

Klasse Andreas !!!
Ich finde es immer bescheuert , wenn hier im Forum PIC-Fragen gestellt
werden, und man belehrt wird das die PICs beschissen sind.
Dann kommt jemand der meint man sollte auf die AVRs oder 8051
umsteigen.
Jeder Mikrocontroller hat seine Vor- und Nachteile und dann ist noch
die Anwendung wichtig.
Gast #43583
Lesenswert?

Hallo,

ich bin immer wieder erstaunt, wie wenige Leute auf die Idee kommen,
sich erst mal die Datenblätter vom Hersteller des Prozessores übers
Internet zu besorgen. Dort ist so ziemlich jede Information enthalten,
und so schwer verständlich sind die nicht. Vorausgesetzt natürlich, man
kann einigermassen Englisch lesen.

Gruß
Thorsten
Gast #43585
Lesenswert?

Nö, die 622 Seiten lassen sich ohne Probleme auf wenige reduzieren. Die
benötigten Infos findet man leicht mit dem Inhaltsverzeichnis. Bitte
nicht böse sein; wollte damit nur sagen, dass die Datenblätter meiner
Meinung nach die beste Informationsquelle darstellen. Denn alle Autoren
etc. benutzen diese schließlich als Basis.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren