找回密码
 立即注册
楼主: dhtxs_82

关于STC32G的编码器接口的触发问题

[复制链接]
  • 打卡等级:偶尔看看III
  • 打卡总天数:56
  • 最近打卡:2025-05-03 10:05:34

718

主题

1万

回帖

1万

积分

管理员

积分
15646
发表于 2024-1-16 22:23:21 | 显示全部楼层
看梁工的 编码器讲解视频,实际仿真调试 梁工的编码器程序
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:52
  • 最近打卡:2024-12-14 14:52:56

0

主题

23

回帖

300

积分

中级会员

积分
300
发表于 2024-1-17 09:00:45 | 显示全部楼层
神*** 发表于 2024-1-16 22:23
看梁工的 编码器讲解视频,实际仿真调试 梁工的编码器程序

谢谢!
回复 支持 反对

使用道具 举报 送花

0

主题

14

回帖

44

积分

新手上路

积分
44
发表于 2024-1-17 22:06:46 | 显示全部楼层
peterw*** 发表于 2024-1-16 21:47
我也遇到跟你一样的疑问
我是按照例程进行调试的,每次进入PWM中断读取编码器值都是一次性增加2,而不是1.  ...

实际测试好像就是这样的,你们验证的怎么样?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:52
  • 最近打卡:2024-12-14 14:52:56

0

主题

23

回帖

300

积分

中级会员

积分
300
发表于 2024-1-20 14:54:29 | 显示全部楼层
ryx*** 发表于 2024-1-17 22:06
实际测试好像就是这样的,你们验证的怎么样?

我目前得到结果跟你一样  我还在学习视频 看是不是进入中断后检测方式有问题
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-05-02 10:07:51

73

主题

5883

回帖

1万

积分

超级版主

积分
12081
发表于 2024-1-20 17:14:45 | 显示全部楼层
peterw*** 发表于 2024-1-16 21:47
我也遇到跟你一样的疑问
我是按照例程进行调试的,每次进入PWM中断读取编码器值都是一次性增加2,而不是1.  ...

编码器两个边沿都+1,所以一对脉冲就+2。另一个模式+4。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:52
  • 最近打卡:2024-12-14 14:52:56

0

主题

23

回帖

300

积分

中级会员

积分
300
发表于 2024-1-21 13:10:54 | 显示全部楼层
梁*** 发表于 2024-1-20 17:14
编码器两个边沿都+1,所以一对脉冲就+2。另一个模式+4。

谢谢梁工解答。

void PWMA_ISR(void) interrupt PWMA_VECTOR
{
        u8        sr1, sr2;
        sr1 = PWMA_SR1;        //为了快速, 中断标志用一个局部变量处理
        PWMA_SR1 = 0;        //清除中断标志
        sr2 = PWMA_SR2;        //为了快速, 中断标志用一个局部变量处理
        PWMA_SR2 = 0;        //清除中断标志
        sr1 &= PWMA_ISR_En;        //每个通道可以单独允许中断处理

        if(sr1 & 0x02)        //通道1 编码器中断
        {
                pulse = ((u16)PWMA_CNTRH << 8) + (u16)PWMA_CNTRL;        //读取当前编码器计数值
                B_Change = 1;                //标志已有捕捉值
        }
}

这个例程里,是上升沿和下降沿都会触发B_change = 1 么?如果仅仅是其中一个,那么做判断时候读取pulse的就是+2,如果上升沿和下降沿都会对B_change赋值,那么就会+1.
实际上这个例程每次通过串口打印输出的是+2.

请梁工帮忙解答下,是不是我理解错误了。
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-3 12:48 , Processed in 0.121698 second(s), 82 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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