123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506 |
- /****************************************************************************
- * @file nutool_modclkcfg.c
- * @version V1.05
- * @Date 2020/09/30-13:56:58
- * @brief NuMicro generated code file
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Copyright (C) 2013-2020 Nuvoton Technology Corp. All rights reserved.
- *****************************************************************************/
- /********************
- MCU:M032SE3AE(ULQFP64)
- Base Clocks:
- LIRC:38.4000kHz
- HIRC:48MHz
- LXT:32.7680kHz
- HXT:12MHz
- PLL:72MHz
- HCLK:48MHz
- PCLK0:48MHz
- PCLK1:48MHz
- Enabled-Module Frequencies:
- ACMP01=Bus Clock(PCLK1):48MHz
- ADC=Bus Clock(PCLK1):48MHz/Engine Clock:48MHz
- CRC=Bus Clock(HCLK):48MHz
- EBI=Bus Clock(HCLK):48MHz
- HDIV=Bus Clock(HCLK):48MHz
- I2C0=Bus Clock(PCLK0):48MHz
- I2C1=Bus Clock(PCLK1):48MHz
- ISP=Bus Clock(HCLK):48MHz/Engine Clock:48MHz
- PDMA=Bus Clock(HCLK):48MHz
- PWM0=Bus Clock(PCLK0):48MHz/Engine Clock:48MHz
- PWM1=Bus Clock(PCLK1):48MHz/Engine Clock:48MHz
- SPI0=Bus Clock(PCLK1):48MHz/Engine Clock:48MHz
- SYSTICK=Bus Clock(HCLK):48MHz/Engine Clock:24MHz
- TMR0=Bus Clock(PCLK0):48MHz/Engine Clock:48MHz
- TMR1=Bus Clock(PCLK0):48MHz/Engine Clock:48MHz
- TMR2=Bus Clock(PCLK1):48MHz/Engine Clock:48MHz
- TMR3=Bus Clock(PCLK1):48MHz/Engine Clock:48MHz
- UART0=Bus Clock(PCLK0):48MHz/Engine Clock:48MHz
- UART1=Bus Clock(PCLK1):48MHz/Engine Clock:48MHz
- UART2=Bus Clock(PCLK0):48MHz/Engine Clock:48MHz
- USBD=Bus Clock(PCLK0):48MHz/Engine Clock:48MHz
- USCI0=Bus Clock(PCLK0):48MHz
- WDT=Bus Clock(PCLK0):48MHz/Engine Clock:38.4000kHz
- WWDT=Bus Clock(PCLK0):48MHz/Engine Clock:23.4375kHz
- ********************/
- #include "M031Series.h"
- void nutool_modclkcfg_init_acmp01(void)
- {
- CLK_EnableModuleClock(ACMP01_MODULE);
- return;
- }
- void nutool_modclkcfg_deinit_acmp01(void)
- {
- CLK_DisableModuleClock(ACMP01_MODULE);
- return;
- }
- void nutool_modclkcfg_init_adc(void)
- {
- CLK_EnableModuleClock(ADC_MODULE);
- CLK_SetModuleClock(ADC_MODULE, CLK_CLKSEL2_ADCSEL_PCLK1, CLK_CLKDIV0_ADC(1));
- return;
- }
- void nutool_modclkcfg_deinit_adc(void)
- {
- CLK_DisableModuleClock(ADC_MODULE);
- return;
- }
- void nutool_modclkcfg_init_crc(void)
- {
- CLK_EnableModuleClock(CRC_MODULE);
- return;
- }
- void nutool_modclkcfg_deinit_crc(void)
- {
- CLK_DisableModuleClock(CRC_MODULE);
- return;
- }
- void nutool_modclkcfg_init_ebi(void)
- {
- CLK_EnableModuleClock(EBI_MODULE);
- return;
- }
- void nutool_modclkcfg_deinit_ebi(void)
- {
- CLK_DisableModuleClock(EBI_MODULE);
- return;
- }
- void nutool_modclkcfg_init_hdiv(void)
- {
- CLK_EnableModuleClock(HDIV_MODULE);
- return;
- }
- void nutool_modclkcfg_deinit_hdiv(void)
- {
- CLK_DisableModuleClock(HDIV_MODULE);
- return;
- }
- void nutool_modclkcfg_init_i2c0(void)
- {
- CLK_EnableModuleClock(I2C0_MODULE);
- return;
- }
- void nutool_modclkcfg_deinit_i2c0(void)
- {
- CLK_DisableModuleClock(I2C0_MODULE);
- return;
- }
- void nutool_modclkcfg_init_i2c1(void)
- {
- CLK_EnableModuleClock(I2C1_MODULE);
- return;
- }
- void nutool_modclkcfg_deinit_i2c1(void)
- {
- CLK_DisableModuleClock(I2C1_MODULE);
- return;
- }
- void nutool_modclkcfg_init_isp(void)
- {
- CLK_EnableModuleClock(ISP_MODULE);
- return;
- }
- void nutool_modclkcfg_deinit_isp(void)
- {
- CLK_DisableModuleClock(ISP_MODULE);
- return;
- }
- void nutool_modclkcfg_init_pdma(void)
- {
- CLK_EnableModuleClock(PDMA_MODULE);
- return;
- }
- void nutool_modclkcfg_deinit_pdma(void)
- {
- CLK_DisableModuleClock(PDMA_MODULE);
- return;
- }
- void nutool_modclkcfg_init_pwm0(void)
- {
- CLK_EnableModuleClock(PWM0_MODULE);
- CLK_SetModuleClock(PWM0_MODULE, CLK_CLKSEL2_PWM0SEL_PCLK0, MODULE_NoMsk);
- return;
- }
- void nutool_modclkcfg_deinit_pwm0(void)
- {
- CLK_DisableModuleClock(PWM0_MODULE);
- return;
- }
- void nutool_modclkcfg_init_pwm1(void)
- {
- CLK_EnableModuleClock(PWM1_MODULE);
- CLK_SetModuleClock(PWM1_MODULE, CLK_CLKSEL2_PWM1SEL_PCLK1, MODULE_NoMsk);
- return;
- }
- void nutool_modclkcfg_deinit_pwm1(void)
- {
- CLK_DisableModuleClock(PWM1_MODULE);
- return;
- }
- void nutool_modclkcfg_init_spi0(void)
- {
- CLK_EnableModuleClock(SPI0_MODULE);
- CLK_SetModuleClock(SPI0_MODULE, CLK_CLKSEL2_SPI0SEL_PCLK1, MODULE_NoMsk);
- return;
- }
- void nutool_modclkcfg_deinit_spi0(void)
- {
- CLK_DisableModuleClock(SPI0_MODULE);
- return;
- }
- void nutool_modclkcfg_init_systick(void)
- {
- CLK_EnableSysTick(CLK_CLKSEL0_STCLKSEL_HIRC_DIV2, 0);
- return;
- }
- void nutool_modclkcfg_deinit_systick(void)
- {
- CLK_DisableSysTick();
- return;
- }
- void nutool_modclkcfg_init_tmr0(void)
- {
- CLK_EnableModuleClock(TMR0_MODULE);
- CLK_SetModuleClock(TMR0_MODULE, CLK_CLKSEL1_TMR0SEL_HIRC, MODULE_NoMsk);
- return;
- }
- void nutool_modclkcfg_deinit_tmr0(void)
- {
- CLK_DisableModuleClock(TMR0_MODULE);
- return;
- }
- void nutool_modclkcfg_init_tmr1(void)
- {
- CLK_EnableModuleClock(TMR1_MODULE);
- CLK_SetModuleClock(TMR1_MODULE, CLK_CLKSEL1_TMR1SEL_HIRC, MODULE_NoMsk);
- return;
- }
- void nutool_modclkcfg_deinit_tmr1(void)
- {
- CLK_DisableModuleClock(TMR1_MODULE);
- return;
- }
- void nutool_modclkcfg_init_tmr2(void)
- {
- CLK_EnableModuleClock(TMR2_MODULE);
- CLK_SetModuleClock(TMR2_MODULE, CLK_CLKSEL1_TMR2SEL_HIRC, MODULE_NoMsk);
- return;
- }
- void nutool_modclkcfg_deinit_tmr2(void)
- {
- CLK_DisableModuleClock(TMR2_MODULE);
- return;
- }
- void nutool_modclkcfg_init_tmr3(void)
- {
- CLK_EnableModuleClock(TMR3_MODULE);
- CLK_SetModuleClock(TMR3_MODULE, CLK_CLKSEL1_TMR3SEL_HIRC, MODULE_NoMsk);
- return;
- }
- void nutool_modclkcfg_deinit_tmr3(void)
- {
- CLK_DisableModuleClock(TMR3_MODULE);
- return;
- }
- void nutool_modclkcfg_init_uart0(void)
- {
- CLK_EnableModuleClock(UART0_MODULE);
- CLK_SetModuleClock(UART0_MODULE, CLK_CLKSEL1_UART0SEL_HXT, CLK_CLKDIV0_UART0(1));
- return;
- }
- void nutool_modclkcfg_deinit_uart0(void)
- {
- CLK_DisableModuleClock(UART0_MODULE);
- return;
- }
- void nutool_modclkcfg_init_uart1(void)
- {
- CLK_EnableModuleClock(UART1_MODULE);
- CLK_SetModuleClock(UART1_MODULE, CLK_CLKSEL1_UART1SEL_PCLK1, CLK_CLKDIV0_UART1(1));
- return;
- }
- void nutool_modclkcfg_deinit_uart1(void)
- {
- CLK_DisableModuleClock(UART1_MODULE);
- return;
- }
- void nutool_modclkcfg_init_uart2(void)
- {
- CLK_EnableModuleClock(UART2_MODULE);
- CLK_SetModuleClock(UART2_MODULE, CLK_CLKSEL3_UART2SEL_PCLK0, CLK_CLKDIV4_UART2(1));
- return;
- }
- void nutool_modclkcfg_deinit_uart2(void)
- {
- CLK_DisableModuleClock(UART2_MODULE);
- return;
- }
- void nutool_modclkcfg_init_usbd(void)
- {
- CLK_EnableModuleClock(USBD_MODULE);
- CLK_SetModuleClock(USBD_MODULE, CLK_CLKSEL0_USBDSEL_HIRC, MODULE_NoMsk);
- return;
- }
- void nutool_modclkcfg_deinit_usbd(void)
- {
- CLK_DisableModuleClock(USBD_MODULE);
- return;
- }
- void nutool_modclkcfg_init_usci0(void)
- {
- CLK_EnableModuleClock(USCI0_MODULE);
- return;
- }
- void nutool_modclkcfg_deinit_usci0(void)
- {
- CLK_DisableModuleClock(USCI0_MODULE);
- return;
- }
- void nutool_modclkcfg_init_wdt(void)
- {
- CLK_EnableModuleClock(WDT_MODULE);
- CLK_SetModuleClock(WDT_MODULE, CLK_CLKSEL1_WDTSEL_LIRC, MODULE_NoMsk);
- return;
- }
- void nutool_modclkcfg_deinit_wdt(void)
- {
- CLK_DisableModuleClock(WDT_MODULE);
- return;
- }
- void nutool_modclkcfg_init_wwdt(void)
- {
- CLK_EnableModuleClock(WWDT_MODULE);
- CLK_SetModuleClock(WWDT_MODULE, CLK_CLKSEL1_WWDTSEL_HCLK_DIV2048, MODULE_NoMsk);
- return;
- }
- void nutool_modclkcfg_deinit_wwdt(void)
- {
- CLK_DisableModuleClock(WWDT_MODULE);
- return;
- }
- void nutool_modclkcfg_init_rtc(void)
- {
- CLK_EnableModuleClock(RTC_MODULE);
- return;
- }
- void nutool_modclkcfg_deinit_rtc(void)
- {
- CLK_DisableModuleClock(RTC_MODULE);
- return;
- }
- void nutool_modclkcfg_init_base(void)
- {
- /* Enable clock source */
- CLK_EnableXtalRC(CLK_PWRCTL_LIRCEN_Msk | CLK_PWRCTL_HIRCEN_Msk | CLK_PWRCTL_LXTEN_Msk | CLK_PWRCTL_HXTEN_Msk);
- /* Waiting for clock source ready */
- CLK_WaitClockReady(CLK_STATUS_LIRCSTB_Msk | CLK_STATUS_HIRCSTB_Msk | CLK_STATUS_LXTSTB_Msk | CLK_STATUS_HXTSTB_Msk);
- /* Disable PLL first to avoid unstable when setting PLL */
- CLK_DisablePLL();
- /* Set PLL frequency */
- CLK->PLLCTL = (CLK->PLLCTL & ~(0x000FFFFFul)) | 0x0008C02Eul;
- /* Waiting for PLL ready */
- CLK_WaitClockReady(CLK_STATUS_PLLSTB_Msk);
- /* If the defines do not exist in your project, please refer to the related clk.h in the Header folder appended to the tool package. */
- /* Set HCLK clock */
- CLK_SetHCLK(CLK_CLKSEL0_HCLKSEL_HIRC, CLK_CLKDIV0_HCLK(1));
- /* Set PCLK-related clock */
- CLK->PCLKDIV = (CLK_PCLKDIV_APB0DIV_DIV1 | CLK_PCLKDIV_APB1DIV_DIV1);
- return;
- }
- void nutool_modclkcfg_init(void)
- {
- /*---------------------------------------------------------------------------------------------------------*/
- /* Init System Clock */
- /*---------------------------------------------------------------------------------------------------------*/
- //CLK->PWRCTL = (CLK->PWRCTL & ~(0x0000000Ful)) | 0x0231001Ful;
- //CLK->PLLCTL = (CLK->PLLCTL & ~(0x000FFFFFul)) | 0x0008C02Eul;
- //CLK->CLKDIV0 = (CLK->CLKDIV0 & ~(0x00FFFFFFul)) | 0x00000000ul;
- //CLK->CLKDIV4 = (CLK->CLKDIV4 & ~(0x0000000Ful)) | 0x00000000ul;
- //CLK->PCLKDIV = (CLK->PCLKDIV & ~(0x00000077ul)) | 0x00000000ul;
- //CLK->CLKSEL0 = (CLK->CLKSEL0 & ~(0x0000013Ful)) | 0x0000003Ful;
- //CLK->CLKSEL1 = (CLK->CLKSEL1 & ~(0x7777777Ful)) | 0x4477773Bul;
- //CLK->CLKSEL2 = (CLK->CLKSEL2 & ~(0x00300033ul)) | 0x00200023ul;
- //CLK->CLKSEL3 = (CLK->CLKSEL3 & ~(0x07000000ul)) | 0x04000000ul;
- //CLK->AHBCLK = (CLK->AHBCLK & ~(0x0000009Eul)) | 0x0000009Eul;
- //CLK->APBCLK0 = (CLK->APBCLK0 & ~(0x180723FDul)) | 0x180723BDul;
- //CLK->APBCLK1 = (CLK->APBCLK1 & ~(0x00030100ul)) | 0x00030100ul;
- //CLK->CLKOCTL = (CLK->CLKOCTL & ~(0x0000003Ful)) | 0x00000000ul;
- //SysTick->CTRL = (SysTick->CTRL & ~(0x00000005ul)) | 0x00000001ul;
- /* Unlock protected registers */
- SYS_UnlockReg();
- /* Enable base clock */
- nutool_modclkcfg_init_base();
- /* Enable module clock and set clock source */
- nutool_modclkcfg_init_acmp01();
- nutool_modclkcfg_init_adc();
- nutool_modclkcfg_init_crc();
- nutool_modclkcfg_init_ebi();
- nutool_modclkcfg_init_hdiv();
- nutool_modclkcfg_init_i2c0();
- nutool_modclkcfg_init_i2c1();
- nutool_modclkcfg_init_isp();
- nutool_modclkcfg_init_pdma();
- nutool_modclkcfg_init_pwm0();
- nutool_modclkcfg_init_pwm1();
- nutool_modclkcfg_init_spi0();
- nutool_modclkcfg_init_systick();
- nutool_modclkcfg_init_tmr0();
- nutool_modclkcfg_init_tmr1();
- nutool_modclkcfg_init_tmr2();
- nutool_modclkcfg_init_tmr3();
- nutool_modclkcfg_init_uart0();
- nutool_modclkcfg_init_uart1();
- nutool_modclkcfg_init_uart2();
- nutool_modclkcfg_init_usbd();
- nutool_modclkcfg_init_usci0();
- nutool_modclkcfg_init_wdt();
- nutool_modclkcfg_init_wwdt();
- nutool_modclkcfg_init_rtc();
- /* Update System Core Clock */
- /* User can use SystemCoreClockUpdate() to calculate SystemCoreClock. */
- SystemCoreClockUpdate();
- /* Lock protected registers */
- SYS_LockReg();
- return;
- }
- /*** (C) COPYRIGHT 2013-2020 Nuvoton Technology Corp. ***/
|