PWMB级联PWMA实现硬件计数脉冲的求助帖
各位民间大佬,各位官方大佬,我这有个想法,感觉能实现,是这样子的:--就是通过PWMB的OC5输出脉冲的情况下,同时通过TRGO触发PWMA的计数器开始计数,
--然后给PWMA的计数器设置计数值,比如设置为65530,那么即PWMB的OC5端口输出了6个脉冲后,PWMA的计数器就溢出了,
--然后通过PWMA的溢出事件、中断,将PWMB的OC5端口强制为有效电平或无效电平,同时清空PWMB的计数器,
--当下一个计数值到了的时候,设置到PWMA的计数器里去,然后PWMB的OC5端口继续输出下一组脉冲数量。
在此拜谢各位大佬了,其实简单的方案是可以通过定时/计数器去实现的,不过得需要在单片机外出接线,如果能内部级联就太好了
相当于要实现的效果就是,在不反复进入中断的情况下,实现想要输出指定的脉冲数量
顶贴 18344371880 发表于 2025-2-28 19:32
顶贴
有些麻烦了,pwm可以用来干其他事情。
可以看看这个帖子,也是可以输出指定数量脉冲,并可同时操作四路不同速率和数量的脉冲
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=11043
王昱顺 发表于 2025-2-28 19:47
有些麻烦了,pwm可以用来干其他事情。
可以看看这个帖子,也是可以输出指定数量脉冲,并可同时操作四路不 ...
王工,您好,给你添麻烦了,因为我手里用的是开天斧(STC8H)的原因,我记得dma是只支持256字节的,理论上不够用,不过更多的是对pwm模块的一个设想,也是对我自己的对pwm模块的一个学习,曾经也使用过沁恒的ch32芯片,我记得是可以实现这个效果的,不过没事,也就是用于驱动A4988的,回头再继续挖掘一下pwm模块的潜力
{:haixiu:}{:haixiu:}主要是想弄个写字机来的,为了剩下上位机的那一丢丢费用、也是想着自己创新,就没用GRBL那一套,自己弄了字库和用python写的上位机,通过串口传输的,现在就是在弄硬件嘛,还很稚嫩 18344371880 发表于 2025-2-28 20:19
王工,您好,给你添麻烦了,因为我手里用的是开天斧(STC8H)的原因,我记得dma是只支持256字节的,理论 ...
好的,明白了。
那么回到你这个问题,你这个想法是可以实现的,内部通过级联可以实现输出和计数同时进行。
不过这样会同时占用掉两个pwm部分,就没法做其他的pwm任务了。当然你用来学习是完全没问题的。 王昱顺 发表于 2025-2-28 21:15
好的,明白了。
那么回到你这个问题,你这个想法是可以实现的,内部通过级联可以实现输出和计数同时进行 ...
{:4_165:}{:4_165:}那可不可以辛苦一小小王工,在有空的时候,整个例程学习学习可好{:4_266:}{:4_266:},感觉我有点过分了{:4_167:}{:4_167:} 18344371880 发表于 2025-2-28 21:43
那可不可以辛苦一小小王工,在有空的时候,整个例程学习学习可好,感觉我有点过分了 ...
明天有空我给你写个,可指定脉冲数量串输出 王昱顺 发表于 2025-2-28 21:48
明天有空我给你写个,可指定脉冲数量串输出
好嘞,谢谢,谢谢,您辛苦了 18344371880 发表于 2025-2-28 21:53
好嘞,谢谢,谢谢,您辛苦了
写完了,使用了AI8051U的擎天柱核心板验证
在P21引脚上输出1Hz的方波5次后,停下堵塞延时1.5S,然后继续运行,如此循环往复。
调的这么慢主要是方便观察,可以自行拉升频率,因为是硬件计数加中断的模式,所以频率到Mhz级别也是没问题的。
王昱顺 发表于 2025-3-1 13:44
写完了,使用了AI8051U的擎天柱核心板验证
在P21引脚上输出1Hz的方波5次后,停下堵塞延时1.5S,然后继 ...
{:4_197:}{:4_197:}感谢王工,下午就上机
页:
[1]