#include "stm8s.h"
#include "stm8s_conf.h"
#include "Time1PWM.h"
void TIME1PWM_Init(void)
{
GPIO_Init(PWMPORT, PWMCH1, GPIO_MODE_OUT_PP_HIGH_FAST);
CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER1, ENABLE);
TIM1_TimeBaseInit(0x000F, //预分频
TIM1_COUNTERMODE_DOWN, //计数模式
50, //重装值
0x00); //重复计数N,计数N次后产生更新标志
TIM1_ITConfig(TIM1_IT_UPDATE, ENABLE);
TIM1_Cmd(ENABLE);
rim();
}
#pragma vector =ITC_IRQ_TIM1_OVF + 2
__interrupt void TIME1_IRQHandler(void)
{
FlagStatus fs;
fs = TIM1_GetFlagStatus(TIM1_FLAG_UPDATE);
if(fs == SET)
{
TIM1_ClearFlag(TIM1_FLAG_UPDATE);
GPIO_WriteReverse(PWMPORT, PWMCH1);
}
}
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』