PWM输入模式捕捉4路PWM的周期和占空比
需要的朋友可以看看
stm32单片机源程序如下:
- #include "delay.h"
- #include "sys.h"
- #include "usart.h"
- #include "exti.h"
- #include "wdg.h"
- #include "pwm.h"
- extern void TIM3_PWM_Init(u16 arr,u16 psc);
- extern void TIM4_PWMINPUT_INIT(u16 arr,u16 psc);
- extern u16 period;
- extern u16 duty ;
- extern u8 CollectFlag ;
- //Mini STM32开发板范例代码8
-
- int main(void)
- {
-
- SystemInit();
- delay_init(72); //延时初始化
- NVIC_Configuration(); //中断配置
- uart_init(9600); //串口初始化
- TIM3_PWM_Init(1000-1,72-1); //1KHZ周期
- TIM_SetCompare1(TIM3,200); //设置占空比
- TIM_SetCompare2(TIM3,400); //设置占空比
- TIM_SetCompare3(TIM3,600); //设置占空比
- TIM_SetCompare4(TIM3,800); //设置占空比
- TIM4_PWMINPUT_INIT(0xffff,72-1); //pwm输入初始化以1M的频率捕捉
- // PWM_Init(900,0); //不分频。PWM频率=72000/900=8Khz
- while(1)
- {
- delay_ms(100);
- if(!CollectFlag)
- {
- printf("duty = %d%% \r\n",duty*100/period); //打印占空比
- printf("cycle = %dKHz\r\n",1000/period);//打印周期另一种叫法
- ……………………
- …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
PWM输入模式捕捉4路PWM的周期和占空比.rar
(299.85 KB, 下载次数: 99)
|