Clock Switching

Gast #1469492
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
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

Eine eigene Frage? Dieser Thread ist über 17 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.