PIC Standardwerte

Gast #6655546
Lesenswert?

Hallo,

ich versuche mich gerade in PIC Microcontroller einzuarbeiten und 
verwende xc.h.

Ich habe den PIC16F1503 genommen. Ich versuche gerade herauszufinden wie 
die Register gesetzt sind.

TRISA:
1=PortA pin configured as an input
0=PortA pin configured as an output

ANSA:
1=Analog input
0=Digital I/O

Ich konnte nicht herausfinden wie die Register standardmäßig gesetzt 
sind. Ich vermute die sind standardmäßig auf 0 gesetzt aber sicher bin 
ich mir nicht. Bezieht sich das auf alle Register oder gibt es auch 
Register die standardmäßig manchmal auf 1 gesetzt sind.

Habe nämlich auch gelesen dass es manchmal Probleme gab beim Digital I/O 
da ANSA standardmäßig auf Analog geschalten ist und nicht auf Digital 
I/O.

Danke!

LG
Gast #6655586
Lesenswert?

Meister E. schrieb:
> Der TO ist anscheinend Anfänger sonst hätte er nicht so gefragt.

Meine Ergänzung war nur als Hintergrund, dass es prinzipiell bei allen 
µC so ist oder sein sollte, wenn es nicht noch irgendwo anders ein 
generelles IO-Enable oder gar eine statische Programmierung dafür gibt.

Wenn man den Hintergrund kennt, ist es oft leichter, Informationen (z.B. 
das Datenblatt) zu verifizieren.
#6655753
Lesenswert?

So toll ist Deine Erklärung aber leider nicht, denn dann müsste das ja 
bei allen IC (nicht nur uC) so sein.
Es gibt immer Pins, deren Beschaltung vorgegeben ist (z.B. 
Versorgungsanschlüsse), also ist Deine Erklärung für einen Anfänger 
womöglich weniger sinnstiftend als verwirrend. Die Frage war schon 
beantwortet.
Gast #6659721
Lesenswert?

Danke für die Erklärungen.

Habe mich erst jetzt wieder damit beschäftigt.

Danke für die angehängte Datei aber man muss einmal wissen dass ANSELA 
eine Rolle spielt. Ohne groß zu denken hätte ich gedacht dass TRISx und 
LATx ausreicht und dass es auf I/O gesetzt ist.

Gibt es eigentlich beim PIC sowas wie ein OCR1A Register wo es bis zu 
einem bestimmten Wert zählt und den Interrupt auslöst oder wird ein 
Interrupt immer beim Overflow ausgelöst? D.h. ich muss TMR1 immer auf 
einen Wert setzen und es zählt bis 0xffff.

LG
Gast #6660690
Lesenswert?

Atomkraft, warum nicht? schrieb:
> Wie waers. wenn du endlich mal ein Datenblatt liest?

Wie wäre es wenn du eine Frage beantwortest? Ich verstehe nicht warum 
man so einen Satz schreiben kann aber es extrem schwer ist eine Frage zu 
beantworten.

Es hat ja seinen Grund wieso die Frage gestellt wurde:
Kinder wollen das lernen, man kann ein Anfänger sein, man braucht Tipps 
um sich einzulernen, man ist kein Englisch Professor, und und und

Für jemanden der schon einige Male mit einem PIC programmiert hat ist es 
sicher kein Problem. Manchmal lernt man auch lieber aus Tutorials am 
Anfang als aus Datenblättern obwohl man irgendwann das Datenblatt 
brauchen wird. Das Datenblatt hat 352 Seiten. Man muss sich einmal auf 
die Funktionsweise einstellen.

Die Frage ist auch wie die Features benannt wurden. Ich vermute dass es 
die Funktion Clear Timer on Compare Match nicht gibt aber alles ist 
möglich. Es gibt halt manchmal Situationen wo man reinfällt.

Somit kann man immer nur ab einem Wert bis 0xffff zählen und es muss 
immer erneut auf den Wert gesetzt werden.
#6660770
Lesenswert?

uC schrieb:
> Danke für die angehängte Datei aber man muss einmal wissen dass ANSELA
> eine Rolle spielt. Ohne groß zu denken hätte ich gedacht dass TRISx und
> LATx ausreicht und dass es auf I/O gesetzt ist.

Das ist der Fluch der Abwärtskompatibilität. Früher wollte man 
Transistoren sparen und die Pins waren reine Analogeingänge. Somit 
mußten dann auch alle Nachfolger die Pins nach dem Reset so 
konfigurieren, damit der gleiche Binärcode programmiert werden kann. 
Oftmals ging nämlich der Sourcecode verloren oder wurde erst gar nicht 
archiviert.
Gast #6660807
Lesenswert?

uC schrieb:
> Danke für die angehängte Datei aber man muss einmal wissen dass ANSELA
> eine Rolle spielt. Ohne groß zu denken hätte ich gedacht dass TRISx und
> LATx ausreicht und dass es auf I/O gesetzt ist.

Auch da gilt: RTFM
Im Datenblatt Kap. 11 "I/O Ports" zeigt die Fig. 11-1 genau, welche 
Register sich i.A. auf eine I/O-Port auswirken. Diese Abbildung findet 
man i.d.R. zu jedem µC. Denken hilft da nichts - lesen!
https://ww1.microchip.com/downloads/en/DeviceDoc/40001607D.pdf
Gast #6661051
Lesenswert?

uC schrieb:
> Wie wäre es wenn du eine Frage beantwortest? Ich verstehe nicht warum
> man so einen Satz schreiben kann aber es extrem schwer ist eine Frage zu
> beantworten.

Ignorier die Typen einfach. Die haben mal vor 2-3 Generationen beim 
lernen gelitten und sind der Meinung alle anderen müssen auch weil "es 
hat ihnen ja nicht geschadet".

Die Welt hat sich weiter gedreht und solche Fragen sind normal, aber so 
etwas ist ihnen egal. Sie können sich ihre sinnlosen Kommentare auch 
nicht schenken. Wie pawlowsche Hunde müssen Sie diese zu jedem Thema 
hier ablassen, egal wie unpassend und unhöflich, sinnlos, übergriffig 
und rücksichtslos Sie für andere Leser sind. Auch das ist ihnen egal, 
ihnen ist eigentlich alles egal ausgenommen die eigene klägliche 
Existenz und das Recht haben wollen.

Dann kommen Sie noch mit klugen Ratschlägen das ganze doch so und so zu 
machen, diese sind meistens trivial bis öde einfältig. Niemand hat Sie 
darum gebeten.

Wenn du gute Informationen hohes Niveau und sachlichen Umgang möchtest 
dann gehe in das Microchip Forum. Dafür muss man aber englisch können. 
Das hat aber den Vorteil das die deutschen Spacken mangels 
Sprachkenntnisse da nicht rumwildern können.
Gast #6661251
Lesenswert?

Mucky F. schrieb:
> Ignorier die Typen einfach...
> Die Welt hat sich weiter gedreht und solche Fragen sind normal..

So so.
Du meinst also, daß man heutzutage - um sich "gerade in PIC 
Microcontroller einzuarbeiten" - das Manual zu dem gewählten Chip 
vollständig ignoriert und stattdessen "xc.h" verwendet.

Und wenn einem dennoch irgend etwas unklar ist, dann fragt man den Rest 
der Welt, denn dieser ist ja genau DAFÜR da, daß man ihn mit Fragen 
belästigt, die man durch einen simplen Blick ins Manual beantwortet 
findet.

Nein, wer sich derart benimmt, hat eigentlich nur einen einzigen 
Ratschlag verdient: Manual lesen!

Ein gewisses Minimum an eigener Aktivität erwartet unsereiner 
schlichtweg von Leuten, die hier Fragen stellen.

Und wer solche Ansichten vertritt, wie du sie soeben gepostet hast, der 
zielt darauf ab, sowohl die Foren als auch die Hilfsbereitschaft der 
Forenteilnehmer zu mißbrauchen.

W.S.
Gast #6661409
Lesenswert?

uC schrieb:
> ich versuche mich gerade in PIC Microcontroller einzuarbeiten und
> verwende xc.h.

Von Microchip gibt es nette Webseminars auf YouTube.
Schau dir das mal an
https://www.youtube.com/watch?v=33kgfbL3Sr0

oder
auch die Microchips Minutes Epiodes z.B. das hier:
https://www.google.com/search?client=firefox-b-d&q=Microchip+Minutes+Episode+2+%E2%80%93+Setting+up+a+Project+in+MPLAB%C2%AE

Sie sind fuer Anfaenger/Neueinsteiger ideal
Gast #6661714
Lesenswert?

W.S. schrieb:
> Und wenn einem dennoch irgend etwas unklar ist, dann fragt man den Rest
> der Welt, denn dieser ist ja genau DAFÜR da, daß man ihn mit Fragen
> belästigt, die man durch einen simplen Blick ins Manual beantwortet
> findet.
>
> Nein, wer sich derart benimmt, hat eigentlich nur einen einzigen
> Ratschlag verdient: Manual lesen!

Also, manchmal kann ich mir echt auf den Kopf greifen. Wozu ist das 
Forum dann da? Was machen 1000 andere dann in diesem Forum? Alles ist 
irgendwo in einer Bibliothek beantwortet, trotzdem gibt es dieses Forum. 
Jeder hat mit etwas Anderem ein Problem was er versucht zu lösen. Für 
manche ist es grundlegend und manche versuchen sich einzuarbeiten.

Ich lege meine Hand ins Feuer, hätte ich einen Frauennamen 
hingeschrieben, würde mindestens 10 Leuten die Zunge raushängen, den 
gesamten Code in die Tasten schlagen und eine Wette veranstalten wer als 
erster fertig ist.

Dietrich L. schrieb:
> Und wenn man dann einige Punkte dort nicht versteht, kann man immer noch
> geziehlt Fragen stellen. Da wäre für mich ein akzeptabler Kompromiss,
> denn das würde zeigen, dass sich der Fragesteller wenigstens bemüht hat.

Ich wollte nicht dass mir alles vorprogrammiert wird. Ich habe nur 
versucht Unklarheiten zu lösen wie z.B. 100ms einzustellen. Ich suchte 
sowas wie einen Clear Timer to Compare Match aber angeblich hat ein PIC 
sowas in der Art nicht. Somit muss es immer ab einem Wert anfangen bis 
zum Overflow.

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