dsPIC33 primary oscilator mode auslesen

OP #7223697
Lesenswert?
• ▲
▼
Hi,
ich versuche derzeit eine kleine Funktion zu schreiben, die den primary 
oscillator mode des dsPIC33CK32MC103 während der Laufzeit ausliest.
Im Datenblatt sind die betroffenen bits als "r/PO-1" markiert, das 
bedeutet sie sollten lesbar und einmal (mit den configuration bits) 
setzbar sein. Nun ist aber das Problem, dass ich das betroffene Register 
(FOSC) nicht ansprechen kann.
Habe im Header (xc.h->p33CK32MC103.h) nachgeschaut, dort ist das 
register nicht einmal als Struktur angelegt...

Kenn jmd. von euch eine Möglichkeit? Ziel der ganzen Geschichte ist es 
die Taktrate des µCs auslesen zu können. Dazu sollte ich den Modus des 
primary oscillators schon kennen.

Danke an alle
#7224497
Lesenswert?
• ▲
▼
Aabeku K. schrieb:
> Hi,
> ich versuche derzeit eine kleine Funktion zu schreiben, die den primary
> oscillator mode des dsPIC33CK32MC103 während der Laufzeit ausliest.
> Im Datenblatt sind die betroffenen bits als "r/PO-1" markiert, das
> bedeutet sie sollten lesbar und einmal (mit den configuration bits)
> setzbar sein. Nun ist aber das Problem, dass ich das betroffene Register
> (FOSC) nicht ansprechen kann.

Das Register heißt OSCCON. Seite 156 im Datenblatt.

fchk
OP #7224818
Lesenswert?
• ▲
▼
Frank K. schrieb:
>
> Das Register heißt OSCCON. Seite 156 im Datenblatt.

Nope. Das Register heißt FOSC. Dort möchte ich Bits POSCMD [0:1] lesen. 
Das Problem ist aber, dass in den Headern des besagten µCs dieses 
Register nicht einemal
in dem dazugehörigen Headerfile als Struktur angelegt sind, so als wenn 
man dieses Register gar nicht lesen könnte. Nun steht aber an den Bits 
"R/PO-1", was soviel heißt wie "READ/PROGRAMMABLE ONCE-1", sprich man 
kann diese Bits nur in den Configuration-Bits setzen (einmalig via 
Präprozessoranweisung), jedoch beliebig oft lesen.

Also warum steht dort man könnte es lesen, kann es dann aber doch 
nicht??? Weiß keiner mehr?

Besagtes Register wird auf S.416 beschrieben.

https://ww1.microchip.com/downloads/aemDocuments/documents/MCU16/ProductDocuments/DataSheets/dsPIC33CK64MC105-Family-Data-Sheet-DS70005399D.pdf

P.S.: Du hast Seite 156 geschrieben, meintest aber glaube ich S.159. 
Oder wir haben verschiedene Versionen des Datenblatts erwischt :)
#7224889
Lesenswert?
• ▲
▼
Aabeku K. schrieb:
> Frank K. schrieb:
>>
>> Das Register heißt OSCCON. Seite 156 im Datenblatt.
>
> Nope. Das Register heißt FOSC.

> Also warum steht dort man könnte es lesen, kann es dann aber doch
> nicht??? Weiß keiner mehr?

Das ist kein Prozessorregister (SFR) im eigentlichen Sinne, sondern es 
ist ein Configuration Word. Configuration Words sind Flashzellen an 
einer speziellen Adresse, die vor dem Prozessorstart in die eigentlichen 
SFRs (Special Function Registers) geladen werden. Der Inhalt des FOSC 
Config Words landet dabei z.B. im OSCCON SFR. Die Config Words befinden 
sich nicht im Datenadressraum, sondern im Programmadressraum. Den 
erreichst Du nur über ICSP oder über tblrd() und tblwr() Befehle. Siehe 
Seite 35 im Datenblatt. (und ja, ich meinte vorhin Seite 158/159)

8 und 16 Bit PICs haben wie AVRs und 8051 Architekturen getrennte 
Adressräume für Programmcode und Daten. Darüber stolperst Du gerade. C 
kann das nicht wirklich gut abbilden.

Und: Bei Deinem dsPIC kann man die CLock-Konfiguration zur Laufzeit 
ändern. Daher ist es sinnvoller, im passenden SFR nachzuschauen (OSCCON) 
und nicht im entsprechenden Config Word.

fchk

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.