Hallo, ich versuche gerade bei einem stm32L443CC den externen Quarz zu verwenden. Mit dem internen MSI läuft das ganze schon nur der externe Quarz macht noch Probleme. Als IDE verwende ich TrueSTUDIOARM. Gleich am Anfange von main kommt folgender Code:
1 | SystemInit(); |
2 | |
3 | RCC->CR &= 0xFEFFFFFF; //Disable PLL |
4 | while(RCC->CR &= 0x02000000); //Wait until PLL is disabled |
5 | RCC->CR &= 0x00010000; //Enable HSE (Bit HSEON) |
6 | while(!(RCC->CR &= 0x00020000)) //Wait until HSE is ready |
7 | RCC->PLLCFGR |= 0x00000003; // PLL-Source = HSE |
8 | RCC->PLLCFGR &= 0xFFFFFF8F; // PLL-M = 1 |
9 | RCC->PLLCFGR |= 0x00001400; // PLL-N = 20 |
10 | RCC->PLLCFGR &= 0xF9FFFFFF; // PLL-R = 2 |
11 | RCC->CR |= 0x01000000; //Enable PLL |
12 | while(!(RCC->CR &= 0x02000000)); //Wait until PLL is enabled |
13 | RCC->PLLCFGR |= 0x01000000; //Enable PLL-R |
14 | RCC->CFGR |= 0x00000003; //SYSCLK = PLL |
Leider wird das Bit HSEON einfach nicht gesetzt. Wenn ich rein debugge und über die Stelle steppe wird das Bit im CR Register nicht gesetzt. Weis einer wieso / hatte schonmal jemand das gleiche Problem ? Ich würde es noch gerne ohne HAL machen (als ich die in das Projekt kopiert habe kamen viele Fehler mit "ist nicht deklariert" in den HAL Dateien usw.)