野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11468|回复: 1

PWM输入捕获 定时器

[复制链接]
发表于 2017-4-27 15:57:59 | 显示全部楼层 |阅读模式
// 输入捕获能捕获到的最小的频率为 72M/{ (ARR+1)*(PSC+1) }
#define            ADVANCE_TIM_PERIOD            (1000-1)
#define            ADVANCE_TIM_PSC               (72-1)    ————》  若改为 (144-1)

// 输出PWM的频率为 72M/{ (ARR+1)*(PSC+1) }
#define            GENERAL_TIM_PERIOD            (10-1)
#define            GENERAL_TIM_PSC               (72-1)

/********************************中断服务函数内的占空比和频率的计算***************************************/
   /* 占空比计算 */
    DutyCycle = (float)((IC2Value+1) * 100) / (IC1Value+1);

    /* 频率计算 */
    Frequency = (72000000/(ADVANCE_TIM_PSC+1))/(float)(IC1Value+1);
                printf("占空比:%0.2f%%   频率:%0.2fHz\n",DutyCycle,Frequency);
/***********************************************************************************************/
我只改变高级定时器的ADVANCE_TIM_PSC大小为(144-1),为什么测出通用定时器输出PWM的占空比改变了?他的占空比应该不会发生改变啊!
回复

使用道具 举报

 楼主| 发表于 2017-4-27 16:03:47 | 显示全部楼层
原来测得占空比为50%,改变 ADVANCE_TIM_PSC 的值后测得的占空比为60%
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-22 11:02 , Processed in 0.035295 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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