I am using PLL as my CORE_CLK at 160mHz. I have a PWM period of 10000. When I measure the PWM output, I am getting16.131kHz. I am not sure where 131Hz are coming from. Any thoughts? Thanks!
I have to write all bare-metal code for my project. This is the initialization code I followed:
#define CLOCK_MODE_4_CONFIG \
(tCLOCK_CONFIG){ \
/* FLASH_CTL */ CLR(FLASH_CTL_RWSL_MASK)|SET(FLASH_CTL_RWSC(4u)), \
/* PRAMC0_PRCR1 */ CLR(PRAMC_PRCR1_P0_BO_DIS_MASK)|SET(PRAMC_PRCR1_FT_DIS_MASK), \
/* PRAMC1_PRCR1 */ CLR(PRAMC_PRCR1_P0_BO_DIS_MASK)|SET(PRAMC_PRCR1_FT_DIS_MASK), \
/* PRAMC2_PRCR1 */ CLR(PRAMC_PRCR1_P0_BO_DIS_MASK)|SET(PRAMC_PRCR1_FT_DIS_MASK), \
/* CONFIG_REG_GPR */ SET(CONFIGURATION_GPR_CONFIG_REG_GPR_APP_CORE_ACC(5u))| \
/* ... */ SET(CONFIGURATION_GPR_CONFIG_REG_GPR_FIRC_DIV_SEL(3u)), \
/* FXOSC_CTRL */ CLR(FXOSC_CTRL_OSC_BYP_MASK)|SET(FXOSC_CTRL_COMP_EN_MASK)| \
/* ... */ SET(FXOSC_CTRL_EOCV(157u))|SET(FXOSC_CTRL_GM_SEL(12u))| \
/* ... */ SET(FXOSC_CTRL_OSCON_MASK), \
/* STDBY_ENABLE */ SET(FIRC_STDBY_ENABLE_STDBY_EN_MASK), \
/* MISCELLANEOUS_IN */ SET(SIRC_MISCELLANEOUS_IN_STANDBY_ENABLE_MASK), \
/* PLLDV */ SET(PLL_PLLDV_ODIV2(2u))|SET(PLL_PLLDV_RDIV(CLOCK_PLL_PLLDV_RDIV))| \
/* ... */ SET(PLL_PLLDV_MFI(CLOCK_PLL_PLLDV_MFI)), \
/* PLLFD */ CLR(PLL_PLLFD_SDMEN_MASK)|CLR(PLL_PLLFD_SDM2_MASK)| \
/* ... */ CLR(PLL_PLLFD_SDM3_MASK)|CLR(PLL_PLLFD_MFN_MASK), \
/* PLLFM */ SET(PLL_PLLFM_SSCGBYP_MASK)|CLR(PLL_PLLFM_SPREADCTL_MASK)| \
/* ... */ CLR(PLL_PLLFM_STEPSIZE_MASK)|CLR(PLL_PLLFM_STEPNO_MASK), \
/* PLLODIV0 */ SET(PLL_PLLODIV_DIV(2u)), \
/* PLLODIV1 */ SET(PLL_PLLODIV_DIV(1u)), \
/* MUX_0_DC_0 */ SET(MC_CGM_MUX_0_DC_0_DIV(0u))|SET(MC_CGM_MUX_0_DC_0_DE_MASK), \
/* MUX_0_DC_1 */ SET(MC_CGM_MUX_0_DC_1_DIV(1u))|SET(MC_CGM_MUX_0_DC_1_DE_MASK), \
/* MUX_0_DC_2 */ SET(MC_CGM_MUX_0_DC_2_DIV(3u))|SET(MC_CGM_MUX_0_DC_2_DE_MASK), \
/* MUX_0_DC_3 */ SET(MC_CGM_MUX_0_DC_3_DIV(1u))|SET(MC_CGM_MUX_0_DC_3_DE_MASK), \
/* MUX_0_DC_4 */ SET(MC_CGM_MUX_0_DC_4_DIV(3u))|SET(MC_CGM_MUX_0_DC_4_DE_MASK), \
/* MUX_0_DC_5 */ SET(MC_CGM_MUX_0_DC_5_DIV(3u))|SET(MC_CGM_MUX_0_DC_5_DE_MASK), \
/* MUX_0_DC_6 */ SET(MC_CGM_MUX_0_DC_6_DIV(0u))|SET(MC_CGM_MUX_0_DC_6_DE_MASK), \
/* MUX_0_CSC */ SET(MC_CGM_MUX_0_CSC_SELCTL(8u))|SET(MC_CGM_MUX_0_CSC_CLK_SW_MASK) \
}
Best,
Vusal