Atmel SAML22 Generic Clock auf I/O Pin

OP #4632001
Hallo,

Ich versuche mich derzeit an ARM Controller und habe mir das Atmel 
SAML22 Xplained Board angeschafft.
Von Atmels ASF bin ich nicht überzeugt und programmiere deshalb ohne 
ASF.

Jedoch bin ich nach intensivem Studium des Datenblattes und des Xplained 
User Guides an meine Grenzen gestoßen.

Ich versuche gerade den Generic Clock Controller zum laufen zu bringen. 
Habe als Clock Source den internen 16MH Oszillator ausgewählt (läuft im 
4MHz Modus) und im Generic Clock Controller auf ca 1Hz heruntergeteilt.

Wollte diesen Clock nun auf dem GCLK[0] I/O Pin ausgeben... Aber nichts 
kommt daher..
1
#include "sam.h"
2

3
int main(void)
4
{
5
    /* Initialize the SAM system */
6
    SystemInit();
7
  
8
    PORT->Group[1].DIRSET.reg =  PORT_PB14;
9
    PORT->Group[1].PINCFG[14].bit.PMUXEN = 1;
10
    PORT->Group[1].PMUX[6].reg = PORT_PMUX_PMUXE(7);
11
  
12
  
13
  OSCCTRL->OSC16MCTRL.reg = OSCCTRL_OSC16MCTRL_FSEL_4 |
14
          OSCCTRL_OSC16MCTRL_ENABLE;
15
                
16
  GCLK->GENCTRL[0].reg =  GCLK_GENCTRL_GENEN      | 
17
        GCLK_GENCTRL_DIVSEL     | 
18
        GCLK_GENCTRL_DIV(20)  |
19
        GCLK_GENCTRL_SRC_OSC16M | 
20
        GCLK_GENCTRL_OE;
21
  
22
  GCLK->PCHCTRL[0].reg =  GCLK_PCHCTRL_CHEN |
23
        GCLK_PCHCTRL_GEN_GCLK0;
24
  
25
   
26
  
27
    /* Replace with your application code */
28
    while (1) 
29
    {
30
    }
31
}

Danke und lg dominik
OP #4859528
Habe mittlerweile das Problem gelöst und stelle es allen interessierten 
zur Verfügung:
1
#include "sam.h"
2

3

4
int main(void)
5
{
6
  /* Initialize the SAM system */
7
  SystemInit();
8
  
9
  PORT->Group[0].DIRSET.reg = PORT_PA27;
10
  PORT->Group[0].PINCFG[27].bit.PMUXEN = 1;
11
  PORT->Group[0].PMUX[13].reg = PORT_PMUX_PMUXO(0x7);
12
    
13
  OSC32KCTRL->XOSC32K.reg = OSC32KCTRL_XOSC32K_EN32K | OSC32KCTRL_XOSC32K_ENABLE | OSC32KCTRL_XOSC32K_XTALEN;
14
  
15
  
16
  GCLK->GENCTRL[0].reg =  GCLK_GENCTRL_GENEN    |
17
              GCLK_GENCTRL_DIV(32)  | //1kHz Clock
18
              GCLK_GENCTRL_SRC_XOSC32K|
19
              GCLK_GENCTRL_OE;
20

21
  GCLK->PCHCTRL[23].reg =  GCLK_PCHCTRL_CHEN |
22
              GCLK_PCHCTRL_GEN_GCLK0;            
23
  
24

25
  /* Replace with your application code */
26
  while (1)
27
  {
28
  }
29
}

Antwort schreiben

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