dsPIC2010

Gast #262185
Hallo,

ich hänge an der Einstellung/Auswahl  des primary Oszillators fest.
Mit der MPLAB Oberfläche klappt das programmieren des OSCCON Register
einwandfrei, die Auswahl der entsprechenden Oszillatorquelle
funktioniert aber nicht mit dem _clock switch code example_, welches
im Datenblatt vorgeschlagen wird. Es lassen sich zwar Bits im Register
damit verändern, nicht jedoch die relevanten zur Osz. Einstellung, die
speziell schreibgeschützt sind.

Nach einem langen Wochenende der Fehlersuche möchte ich nun versuchen
auf diesem Wege weiter zu kommen. Da dieser PIC in einem
Positionsdetektor arbeiten muß, der auch im Feld eingesetzt wird,
zusammen mit eine Laptop o.ä., ist es zwingend notwendig, die Taktung
während der langen Einstell- und Digitalisierungspausen erheblich zu
senken um Akkuenergie zu sparen.

Bin für jeden Hinweis dankbar.

MfG Manfred Glahe
Gast #262187
Hallo Carsten,

ich habe icht erwähnt, daß es sich um die Version 7.20 handelt, die für
den dsPIC explizit notwendig ist und darin lassen sich auch alle
Oszillator-Bedingungen einstellen. Das funktioniert ja auch richtig,
lediglich die im Datenblatt angegebene Umschaltung unter
Assemblerprogramm (am progr. dsPIC) funktioniert nicht.

Mittlerweile habe ich aber herausgefunden, daß es von diesem Osz. Prog.
Register wohl 3 verschieden Versionen gibt, deren Bits unterschiedliche
Funktionen belegen.

MfG Manfred Glahe
Gast #262189
Ja, habe ich, trotzdem geht es nicht wie in dem Beispielprog. angegeben.
Ich werde erstmal die anderen Progteile fertigstellen und mich
anschließend nochmal damit befassen.
Gast #262190
Hallo Carsten,

kannst Du mit diesem Hinweis, der nach dem Programmieraufruf kommt,
etwas anfangen?

"because clock switching is enabled, MPLAB ICD 2 requires the user to
cycle target power after a programm operation"

Im debugger wird das OSCCON jedenfalls richtig gesetz, was ich im watch
window überprüfen kann.

MfG Manfred Glahe
#262191
Was benutzt du für eine Hardware? Wie ist diese beschaltet (wo hängt ein
Netzteil dran)?
Das könnte heißen, dass man die Zielhardware nach dem Programmieren
reseten muss.
Mein Vorschlag:
Programm übersetzen -> Programmieren -> Ziel reseten (Netzstecker
ziehen) -> run
Gast #262192
Die Hardware ist das dsPIC 28PIN Starter demo board, sollte also laufen
damit.
Ich habe mal die Hilfe duchforstet und gefunden:

Soll nur ein Hinweis sein, einfach mit OK. weitermachen. Ich breche das
erst mal ab und kümmere mich um den Rest des Progs.

MfG Manfred Glahe

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 20 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.