HUANGJUNZHI 发表于 2024-11-22 09:26:15

32G8K64的输入捕获问题

本帖最后由 DebugLab 于 2024-11-22 09:28 编辑

有个项目要做RGBCW调光,主控使用32G8K64,因为要求PWM输出频率为4KHz,4096级调光,主频使用33.1776MHz,2分频。

所以PWMA/PWMB都使用了,且周期设为4095.但是还需要使用1路PWM捕获输入用于RF遥控器接收按键值。这里使用PWM7做捕获输入。
因为键值波形前有一段低电平的起始信号要接收(1ms时长左右)。那么问题就来了因为周期设为了4095,所以最大计数时长T=1/33.1776*2*4095=247us.
这样的话就测不了1ms低电平起始信号了。不知各位大佬有何高见可以破此困局。小弟在此谢过了!万分感谢


DebugLab 发表于 2024-11-22 09:31:20

用定时器呢?

_奶咖君_ 发表于 2024-11-22 09:39:04

用上更新中断?更新中断里面加上计数变量。检测到一个边沿的时候,清零计数变量。检测到下一个边沿时,计算时间时要加上计数变量表示的时间,,可行么{:4_187:}

HUANGJUNZHI 发表于 2024-11-22 09:39:51

官方建议使用外部中断+定时器来测量。现在按照这种方式试试看,后续在跟大家反馈结果{:4_197:}

Matrix 发表于 2024-11-22 09:55:36

{:4_165:}

HUANGJUNZHI 发表于 2024-11-22 18:09:54

_奶咖君_ 发表于 2024-11-22 09:39
用上更新中断?更新中断里面加上计数变量。检测到一个边沿的时候,清零计数变量。检测到下一个边沿时,计算 ...

花了一下午最后还是不行{:4_167:}

496649247 发表于 2024-11-22 22:50:19

边缘中断,用个定时器,中断读取定时器计数值得到电平时间,然后清零定时器。
页: [1]
查看完整版本: 32G8K64的输入捕获问题