找回密码
 立即注册
查看: 1113|回复: 5

STC32G8K64固定脉冲数输出

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2024-12-31 15:01:22

3

主题

10

回帖

111

积分

注册会员

积分
111
发表于 2023-6-30 14:49:35 | 显示全部楼层 |阅读模式
您好!请教一下,我看咱们的官方例程有一个高级PWM输出(频率可调,脉冲计数)的例程,例程用了单脉冲输出模式,但RCR寄存器是一个8位的寄存器,单次最大只能发送255个脉冲,我想发送更多的脉冲应该怎样做呢?有没有相应的例程呀。

我看论坛有一个步进电机驱动相关的程序,但这个例程好像频率不适合太快。我想最高发送200KHZ的脉冲频率。
谢谢!
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:415
  • 最近打卡:2025-04-30 09:58:34
已绑定手机

39

主题

2006

回帖

6845

积分

论坛元老

积分
6845
发表于 2023-7-3 18:50:48 | 显示全部楼层
发送超过255个脉冲的话可用软件方式在中断里计数:

1.png

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2024-12-31 15:01:22

3

主题

10

回帖

111

积分

注册会员

积分
111
发表于 2023-7-4 11:36:47 | 显示全部楼层
嗯,如果是使用软件在中断里计数,在极端情况下使用PWMA和PWMB 2个通道同时输出200khz频率的脉冲,会造成非常频繁的中断(如果我没算错的话,5us要响应中断2次),导致主程序运行明显变慢。严重的情况下会不会卡死。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:52
  • 最近打卡:2025-05-03 23:41:15

73

主题

5884

回帖

1万

积分

超级版主

积分
12085
发表于 2023-7-20 14:12:14 | 显示全部楼层
步进电机驱动,在中断里计数,可以用一个u32类型的变量,最多42.9亿个脉冲。
也可以将输出脉冲接到一个计数器的输入,这样PWM就可以不用中断,计数脉冲数到,计数器中断,关闭PWM输出即可。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:353
  • 最近打卡:2025-05-03 08:51:32

1

主题

30

回帖

1523

积分

金牌会员

积分
1523
发表于 2023-12-13 16:39:44 | 显示全部楼层
梁*** 发表于 2023-7-20 14:12
步进电机驱动,在中断里计数,可以用一个u32类型的变量,最多42.9亿个脉冲。
也可以将输出脉冲接到一个计数 ...

梁工,官方的“匹配翻转输出脉冲控制步进电机驱动器”能不能4个通道同时输出不同频率脉冲?

点评

当然可以,两组PWM可以控制8个电机的脉冲,各自独立。 由于需要中断配合,所有当有4路电机时,最高频率最好在20KHz以内(4路同时输出20KHz时需要处理160KHz的中断)。  详情 回复 发表于 2023-12-13 22:35
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:52
  • 最近打卡:2025-05-03 23:41:15

73

主题

5884

回帖

1万

积分

超级版主

积分
12085
发表于 2023-12-13 22:35:50 | 显示全部楼层
tianx*** 发表于 2023-12-13 16:39
梁工,官方的“匹配翻转输出脉冲控制步进电机驱动器”能不能4个通道同时输出不同频率脉冲? ...

当然可以,两组PWM可以控制8个电机的脉冲,各自独立。
由于需要中断配合,所有当有4路电机时,最高频率最好在20KHz以内(4路同时输出20KHz时需要处理160KHz的中断)。
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-4 00:35 , Processed in 0.113229 second(s), 87 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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