Forum: Mikrocontroller und Digitale Elektronik dsPIC2010


von Manfred Glahe (Gast)


Lesenswert?

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

von Carsten S. (carsten)


Lesenswert?

Hallo Manfred,
die Einstellungen im MPLAB betreffen nur den Oszillatortyp, nicht aber
die PLL-Einstellungen.
Diese werden mit den FPRx-Bits gemacht (siehe hierzu Abschnitt 19.2 des
Datenblatts)

von Manfred Glahe (Gast)


Lesenswert?

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

von Carsten S. (carsten)


Lesenswert?

Hast du auch das "Clock Switching" erlaubt?

von Manfred Glahe (Gast)


Lesenswert?

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.

von Manfred Glahe (Gast)


Lesenswert?

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

von Carsten S. (carsten)


Lesenswert?

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

von Manfred Glahe (Gast)


Lesenswert?

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

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.