Clock Switching

Gast #1469492
Lesenswert?
• ▲
▼
Hallo

Ich habe einen PIC24FJ128GA mit einem 8MHz Quartz. Im laufenden Betrieb 
möchte ich auf den internen LPRC umschalten und dannin den Sleep Modus 
wechseln. Wenn dann der PIC aus dem Sleep Modus durch den WDT geweckt 
wird, soll also der LPRC Takt aktiv sein.

Die Config Bits habe ich so definiert:
CONFIG1(JTAGEN_OFF & GCP_OFF & GWRP_OFF & COE_OFF & FWDTEN_ON & ICS_PGx2 
& WDTPS32768msec)
_CONFIG2(FCKSM_CSECMD & OSCIOFNC_ON & POSCMOD_HS & FNOSC_PRI)


Der Code für die Umschaltung sieht so aus:

  OSCCON &= 0x00FF;
  OSCCON |= 0x7800;    // unlock high byte
  OSCCON &= 0x00FF;
  OSCCON |= 0x9A00;

  OSCCON &= 0xF8FF;    // Switch to LPRC
  OSCCON |= 0x0500;

  OSCCON &= 0xFF00;
  OSCCON |= 0x0046;    // unlock low byte
  OSCCON &= 0xFF00;
  OSCCON |= 0x0057;

  OSCCON |= 0x0001;    // Oscillator switch enable

Jedoch funktioniert mir die Umschaltung nicht und der PIC bleibt 
weiterhin mit 8Mhz getaktet.

Bitte helft mir, ich bin schon mehr als 1 Tag am Datenblätter lesen und 
Microchip hat mir bis jetzt auch noch keine Antwort gegeben.

Danke und Gruss
Gast #1470260
Lesenswert?
• ▲
▼
Hallo zusammen
Ich habe die Lösung gefunden:

  // Clock Switching
  __builtin_write_OSCCONH(0x78); // Unlock OSCCON High Byte
  __builtin_write_OSCCONH(0x9A); //

  __builtin_write_OSCCONH(0x05); // clock Switch to Low-Power RC 
Oscillator LPRC (NOSC=0b101)

  __builtin_write_OSCCONL(0x46); // Unlock OSCCON Low Byte
  __builtin_write_OSCCONL(0x57); //

  __builtin_write_OSCCONL(0x01); // Start clock switching (enable)

Gruss an alle

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.