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
Die Bits in den ANSEL-Registern sind immer 1, genau so die TRIS-Bits. Es gibt mglw. Ausnahmen und auf jeden Fall eine Menge anderer Register, deren Zustand nach POR dem jeweiligen Datenblatt zu entnehmen ist.
Das bedeutet, analoge Eingänge sind default-mäßig aktiviert und alle I/O als Eingang konfiguriert.
uC schrieb: > Ich konnte nicht herausfinden wie die Register standardmäßig gesetzt > sind. Das steht doch im Dabla, bei jeder Registerbeschreibung dabei und Zusammenfassungen gibts da normal auch! Es macht teils auch nen Unterschied, ob es ein "Neustart" oder ein Reset aus anderer Quelle war.
Meister E. schrieb: > Das bedeutet, analoge Eingänge sind default-mäßig aktiviert und alle I/O > als Eingang konfiguriert. Muss. Sonst würden der PIC beim Einschalten gegen z.B. GND oder VCC-Verbindungen treiben.
Der TO ist anscheinend Anfänger sonst hätte er nicht so gefragt. Wenn er weitere Fragen hat, werden ihr ihm sicher gern weiterhelfen, teoderix und achs, stimmts?
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.
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.
uC schrieb: > Ich konnte nicht herausfinden wie die Register standardmäßig gesetzt > sind. Das steht im jeweiligen Datenblatt unter Wert bei Power-On oder Brownout. Anbei für das ANSELA.
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
Wie waers. wenn du endlich mal ein Datenblatt liest? Da stehen lauter solche interessanten Kleinigkeiten drin.
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.
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.
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
Hallo Fang doch einfach mal damit an eine LED blinken zu lassen. Und wenn es nicht funktioniert dann Programm posten und nachfragen woran es liegen könnte. Sonst schau mal hier vorbei: www.sprut.de oder https://www.pic-microcontroller.de
uC schrieb: > Das Datenblatt hat 352 Seiten. Man muss sich einmal auf > die Funktionsweise einstellen. Das ist sicher richtig. Der Abschnitt über Timer ist ein Bruchteil davon und den sollte man schon durchlesen und verstehen können.
> PIC16F1503 Wenn er zu faul ist, soll er einen kleineren nehmen. Z.B. 12F675. Das hat netto gerademal 100 zu lesende Seiten. > Ohne groß zu denken hätte ich gedacht Und Brain mal auf "ON" stellen.
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.
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.
W.S. schrieb: > Nein, wer sich derart benimmt, hat eigentlich nur einen einzigen > Ratschlag verdient: Manual lesen! ACK. 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.
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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.