纵坐标有三种寄存器,cnt是你的计数值,如果设置为向上计数则直到到达arr值前会一直在更新中断后自增,arr是你的计数器自动重装值,也就是执行中断的总次数,他控制着整个周期(和后面的小周期不同)! TIM_TimeBaseStructure.TIM_Period = 999; //1KHz
还有一个寄存器名字叫psc是你设定的分频系数, TIM_TimeBaseStructure.TIM_Prescaler = 71;
中断周期(一般为72mhz,在总线会给)要除以此系数得真正周期(由此可知总时间=中断周期乘执行总次数),ccr为输出比较寄存器,他与CNT比较,可以设置为当CNT小于设置得值输出高电平,否则输出高电平,所以他控制的是duty占空比,例如arr取1000,crr取500则duty为0.5
void TIM_SetCompare1(TIM_TypeDef* TIMx, uint16_t Compare1)与
TIM_OCInitStructure.TIM_Pulse