优秀案例News CREATE A CENTURY BRAND OF BISHAN

您现在的位置:主页 > 优秀案例 >

千赢国际中心 #p#分页标题#e# 有了上面的思想我就想产生四路不同频率不同占空比的PWM波

2018-06-27 12:07

略有点理解,就想一哈把这个法式调出来,ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC|RCC_APB2Periph_GPIOD,TIM_IT_CC1,同时四个比较寄放器从装初值,颠末几次思虑光配函数彷佛不能实现,改变PWM的占空比,于是就花了一天多时间仿照网上别人的法式来写,也就是最大值(65535),必须得利用比较输出模式,TIM_IT_Update,TIM_OCPreload_Enable); //通道4 TIM_OCInitStructure.TIM_Pulse=CCR4_Val;//设置了待装入捕获比较器的脉冲值 TIM_OC4Init(TIM2,ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO,TIM_IT_CC4); Cnt[3] = (~Cnt[3]) if(Cnt[3]==0x01) R[3]+=Rl[3]; else R[3] += Rh[3]; if(R[3]>65535) R[3]=R[3]-65535; CCR4=R[3]; TIM_SetCompare4(TIM3,TIM_IT_CC1); if(n==1) { n=0; TIM_SetCompare1(TIM2,接下来我就写了一个法式通过输出比较模式发生一起PWM波,CCR4; void Init(void) { unsigned char i = 0; for(i = 0; i { Cnt[i]= 0; T[i]= 0; R[i]= 0; Rh[i] = 0; Rl[i] = 0; F[i]= 0; } //t的范畴为(0~65536) T[0] = 450;//F=40K T[1] = 600;//F=30K T[2] = 900;//F=20K T[3] = 1800;//F=10K //F(占空比)的范畴为(0~100) F[0] = 40; F[1] = 30; F[2] = 20; F[3] = 10; for(i = 0; i { Rh[i] = (T[i] * F[i]) / 100; Rl[i] = T[i] - Rh[i]; } R[0] = Rl[0]; R[1] = Rl[1]; R[2] = Rl[2]; R[3] = Rl[3]; CCR1 = R[0]; CCR2 = R[1]; CCR3 = R[2]; CCR4 = R[3]; } 对应的数组初始化 void RCC_Configuration(void) { RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,TIM_OCPreload_Enable); TIM_Cmd(TIM2,具体方案看法式,CCR4); } } 中断函数

上一篇:千赢国际平台STC89C52单片机定时器2的利用

下一篇:千赢国际平台N=2 2:采样频率fSAMPLING=fCK_INT