找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2860|回复: 1
打印 上一主题 下一主题
收起左侧

STM32 PWM输入模式捕捉4路PWM的周期和占空比源程序

[复制链接]
跳转到指定楼层
楼主
PWM输入模式捕捉4路PWM的周期和占空比
需要的朋友可以看看


stm32单片机源程序如下:
  1. #include "delay.h"
  2. #include "sys.h"
  3. #include "usart.h"
  4. #include "exti.h"
  5. #include "wdg.h"
  6. #include "pwm.h"


  7. extern void TIM3_PWM_Init(u16 arr,u16 psc);
  8. extern void TIM4_PWMINPUT_INIT(u16 arr,u16 psc);

  9. extern u16 period;
  10. extern u16 duty ;
  11. extern u8 CollectFlag ;
  12. //Mini STM32开发板范例代码8
  13.          
  14. int main(void)
  15. {
  16.        
  17.         SystemInit();
  18.         delay_init(72);                             //延时初始化
  19.         NVIC_Configuration();          //中断配置
  20.         uart_init(9600);                                //串口初始化
  21.         TIM3_PWM_Init(1000-1,72-1);   //1KHZ周期
  22.         TIM_SetCompare1(TIM3,200);                //设置占空比
  23.         TIM_SetCompare2(TIM3,400);                //设置占空比
  24.         TIM_SetCompare3(TIM3,600);                //设置占空比
  25.         TIM_SetCompare4(TIM3,800);                //设置占空比
  26.         TIM4_PWMINPUT_INIT(0xffff,72-1);   //pwm输入初始化以1M的频率捕捉

  27. //        PWM_Init(900,0);         //不分频。PWM频率=72000/900=8Khz
  28.                 while(1)
  29.         {
  30.                         delay_ms(100);
  31.                   if(!CollectFlag)
  32.                         {
  33.                                 printf("duty          = %d%% \r\n",duty*100/period);                                //打印占空比
  34.                                 printf("cycle         = %dKHz\r\n",1000/period);//打印周期另一种叫法
  35. ……………………

  36. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
PWM输入模式捕捉4路PWM的周期和占空比.rar (299.85 KB, 下载次数: 99)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:221517 发表于 2017-7-22 09:31 | 只看该作者
   多谢楼主   
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表