完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
定时器配置如下:
// 控制寄存器(在通道 1 和 2 [引脚 12 和 13] 上输入 PWM) tiM4->CCMR1 |= TIM_CCMR1_CC1S_0 ; // tim_ccr1 的有效输入 TIM4->CCMR1 |= TIM_CCMR1_CC2S_1;// tim_ccr2 的有效输入 TIM4->CCER |= TIM_CCER_CC2P; // tl1fp2 的有效极性(测量值) TIM4->SMCR |= 0x50;// 选择有效的输入触发器 TL1 TIM4->SMCR |= TIM_SMCR_SMS_2;// 在重置模式下配置控制器 TIM4->CCER |= (TIM_CCER_CC1E | TIM_CCER_CC2E); // 启用捕获 当存在输入信号时,测量报告引脚上的正确周期和脉冲宽度。当我关闭引脚上的 PWM 信号时,最后捕获的值保留在 CCR1 和 CCR2 中。当通道配置为输入时,如本例所示,CCR1 和 CCR2 是只读的,我无法手动清除它们。这里的复位方式好像只复位定时器计数器,不复位捕获寄存器。 我在配置中遗漏了什么吗?我的目的是能够测量 PWM 频率和脉冲宽度,以及知道 PWM 信号是否已关闭(我的假设是捕获寄存器被清除) 如果没有 PWM 信号,则没有上升沿来重置计数器,即使如此,捕获寄存器似乎永远不会重置,只是在捕获事件(上升沿和下降沿)期间更新为新值。 有没有办法将这些寄存器重置为当我知道的引脚上没有输入 PWM 信号时的状态,因为它们将读取 0。 |
|
相关推荐
1个回答
|
|
捕获只是捕获输入边沿的时刻。输入无边缘,捕获寄存器无变化。
将未使用的通道之一设置为比较,并将最大预期脉冲长度设置到该通道的 CCRx 中;在该通道上启用中断。 如果到了该时间,请清除您需要清除的所有内容。 |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2735 浏览 1 评论
3241 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1810 浏览 1 评论
3650 浏览 6 评论
6039 浏览 21 评论
1339浏览 4评论
201浏览 3评论
对H747I-DISCO写程序时将CN2的st-link复用为usart1,再次烧录时无法检测到stlink怎么解决?
350浏览 2评论
STM32G474RE芯片只是串口发个数据就发烫严重是怎么回事?
444浏览 2评论
STM32处理增量式编码器Z信号如何判断中断是正转的还是反向转的?
274浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 06:33 , Processed in 1.093820 second(s), Total 76, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号