void Init_CLK(void)
{
CLK_CKDIVR_HSIDIV=0x00;//振荡器1分频
CLK_CKDIVR_CPUDIV=0x00;//CPU 1分频,16M
// CLK_ECKR_HSEEN=1; //自动切换为外部晶振
// CLK_SWCR_SWEN=1;
// CLK_SWR=0xB4;
}
void Init_GPIO(void)
{
PD_DDR_DDR0=1;
PD_CR1_C10=1;
PD_CR2_C20=1;
}
void Init_Timer3_PWM(void)
{
TIM3_CCMR2=0x68; //PWM模式1 TIMx_CNT<TIMx_CCR1为有效电平,开启预装载寄存器,TIM3-CH2配置为输出
TIM3_CCER1=0x31; //CC2配置为输出
TIM3_ARRH=0x01; //配置PWM分辨率为10位,ARR=0x1A5
TIM3_ARRL=0xA5; //PWM频率=16M/0x01A5=38KHz
TIM3_CCR2H=1; //占空比0x01A5*0.75=0x013B 75%占空比
TIM3_CCR2L=0x3B;
TIM3_CR1=0x81; //计数器使能,开始计数
}
void Init_Process(void)
{
Init_GPIO();
Init_CLK();
Init_Timer3_PWM();
}
void main(void)
{
Init_Process();
while(1)
{
}
}
|