SYS_UnlockReg(); //解锁
CLK_EnableXtalRC(CLK_PWRCON_OSC22M_EN_Msk);
CLK_WaitClockReady(CLK_CLKSTATUS_IRC22M_STB_Msk); CLK_SetHCLK(CLK_CLKSEL0_HCLK_S_IRC22M,CLK_CLKDIV_HCLK(1)); CLK_SetSysTickClockSrc(CLK_CLKSEL0_STCLK_S_IRC22M_DIV2);
// 使能外设 时钟 CLK_EnableModuleClock(UART_MODULE);//串口 CLK_EnableModuleClock(TMR0_MODULE);//定时器0 CLK_EnableModuleClock(TMR1_MODULE);//定时器1 CLK_EnableModuleClock(PWM01_MODULE);//pwm0和1 CLK_EnableModuleClock(ADC_MODULE);//ADC
//选择 外设 的 时钟源 和 分频 库函数 不知道操作了什么 无法使用 // CLK_SetModuleClock(UART_MODULE,CLK_CLKSEL1_UART_S_IRC22M,CLK_CLKDIV_UART(1));//串口 // CLK_SetModuleClock(TMR0_MODULE,CLK_CLKSEL1_TMR0_S_IRC22M,0);//定时器0 // CLK_SetModuleClock(TMR1_MODULE,CLK_CLKSEL1_TMR1_S_IRC22M,0);//定时器1 // CLK_SetModuleClock(PWM01_MODULE,CLK_CLKSEL1_PWM01_S_HCLK,0);//pwm0和1 // CLK_SetModuleClock(ADC_MODULE,CLK_CLKSEL1_ADC_S_IRC22M,CLK_CLKDIV_ADC(1));//ADC
/* Update System Core Clock */
/* User can use SystemCoreClockUpdate() to calculate PllClock, SystemCoreClock and CycylesPerUs automatically. */ SystemCoreClockUpdate();
//io口 复用
SYS->P0_MFP = SYS_MFP_P00_TXD | SYS_MFP_P01_RXD;//端口 复用 p0_0 p0_1 为 tx rx
SYS->P1_MFP = SYS_MFP_P13_AIN3 | SYS_MFP_P14_AIN4 ; //端口 复用 p1_4 ad采样 1 3 GPIO_DISABLE_DIGITAL_PATH(P1, ~GPIO_OFFD_OFFD_Msk|BIT4 |BIT3);
SYS_LockReg();//上锁
|