新手入门
- 积分
- 9
- 金钱
- 9
- 注册时间
- 2018-9-7
- 在线时间
- 6 小时
|
6金钱
void TIM8_PWM_Init(void)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure1;
TIM_OCInitTypeDef TIM_OCInitStructure1;
u16 crr1 = 19;
TIM_TimeBaseStructure1.TIM_Period = 39;
TIM_TimeBaseStructure1.TIM_Prescaler=71;
TIM_TimeBaseStructure1.TIM_ClockDivision=TIM_CKD_DIV1;
TIM_TimeBaseStructure1.TIM_CounterMode=TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM8, &TIM_TimeBaseStructure1);
TIM_OCInitStructure1.TIM_OCMode = TIM_OCMode_PWM1;
TIM_OCInitStructure1.TIM_OCPolarity = TIM_OCPolarity_High;
TIM_OCInitStructure1.TIM_OutputState = TIM_OutputState_Enable;
TIM_OCInitStructure1.TIM_Pulse = crr1;
TIM_OC1Init(TIM8,&TIM_OCInitStructure1);
TIM_OC1PreloadConfig(TIM8, TIM_OCPreload_Enable);
TIM_ARRPreloadConfig(TIM8, ENABLE);
TIM_CtrlPWMOutputs(TIM8, ENABLE);
TIM_Cmd(TIM8, ENABLE);
}
这是我的初始化程序,我计算72M/(72*40)=25KHz,为什么测试出来是2.5Khz,这是为什么,是程序有问题还是晶振没起震?有人遇到过这种情况嘛?
|
|