#include "public.h"
#include "Sys
tick.h"
#include "led.h"
#include "usart.h"
#include "inputcapture.h"
#include "ADC.h"
#include "jisuancanshu.h"
#include "pwm.h"
//如下是主程序,如果屏蔽了TIM3_Cap_Init, USART1_Init,TIM6_Int_Init,那么,PWM波就能发出,而如果不屏蔽其中任何一个,都会对PWM波产生影响。相对应的子程序在附件里给出
int main()
{
u8 fx=0;
u16 i=0;
SysTick_Init(72);//初始化时钟源
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//中断优先级分组
LED_Init();
// TIM3_Cap_Init(1000,71); //定时器周期ARR=1000,时钟频率1MHZ,一个更新中断周期1ms
// USART1_Init(9600);
ADCx_Init(); //初始化ADC ADC初始化要在TIM6之前,否则TIM6中断无法产生
TIM1_PWM_Init(500,71);
TIM2_PWM_Init(500,72-1);
TIM3_PWM_Init(500,72-1); //根据 Tout=((Period)*(Prescaler+1))/Tclk Tclk=72MHz计算得出周期为500ms,从而确定PWM波形的频率
TIM4_PWM_Init(500,71);
// TIM6_Int_Init(10000,71); //用于计算收集过来的参数
while(1)
{
if(fx==0)
{
i++;
if(i==499)
{
fx=1;
}
}
else
{
i--;
if(i==0)
{
fx=0;
}
}
TIM_SetCompare1(TIM1,i); //i的值就是CRR, CRR/周期值 就是实际占空比
delay_ms(5);
}
}
-
-
问题子程序.zip
下载积分: 积分 -1 分
8.98 KB, 下载次数: 8, 下载积分: 积分 -1 分
一周热门 更多>