发 帖  
经验: 积分:29
硬件工程师 tacking tech
广东省 深圳市 设计开发工程
  • 点评了帖子 2024-7-13 23:57

    1

    硬件工程师 tacking tech
    int16_t Encoder_Get(void) {     /*使用Temp变量作为中继,目的是返回Encoder_Count后将其清零*/     /*在这里,也可以直接返回Encoder_Count       但这样就不是获取增量值的操作方法了       也可以实现功能,只是思路不一样*/     int16_t Temp;     Temp = Encoder_Count;     Encoder_Count = 0;     return Temp; } 经过我多方排查,终于找到问题点了,出问题的地方就是这个获取增量值函数里面:Encoder_Count = 0;这句代码,加上这句,Return回去的值一直是0,不是需要的增量值,Temp一开始是增量值,等到执行该句代码后,Temp也变为常量0了,所以导致值一直是0,将该句代码注释掉后,一切显示正常。 也终于理解UP主为啥采用Num += Encoder_Get(); 的方式。 但是为啥执行那句代码后,Temp也变常量0了呢?不是应该Encoder_Count清零之前的值么?
  • 回答了问题 2024-7-13 23:57

    1

    硬件工程师 tacking tech
    "int16_t Encoder_Get(void) {     /*使用Temp变量作为中继,目的是返回Encoder_Count后将其清零*/     /*在这里,也可以直接返回Encoder_Count       但这样就不是获取增量值的操作方法了       也可 ..."
  • 关注了版块 2024-7-13 22:54

    LabVIEW论坛

    104785 人关注
  • 发布了问题 2024-7-13 21:24

    1

    硬件工程师 tacking tech
    在学习江科大的stm32课程编码器正转反转时,出现如下问题,编码器源代码如附件。*附件:Encoder.rar 主函数代码如下: #include "stm32f10x.h" // Device header #include "Delay.h" #include "OLE ...
    来源:单片机/MCU论坛 标签: STM32 江科大
  • 关注了版块 2024-7-13 21:13

    单片机/MCU论坛

    199900 人关注
  • 关注了版块 2024-7-12 15:17
  • 关注了版块 2024-7-12 13:14

    DIY及创意

    71840 人关注
  • 关注了版块 2024-7-11 09:37

    测试测量技术

    22456 人关注
  • 关注了版块 2024-7-10 18:32

    电源技术论坛

    144466 人关注
  • 评论了视频 2024-7-10 17:11

    跟着芯片规格书学电子(初识篇)-AD5522

    AD5522有规格书的更详细的讲解吗?
  • 关注了版块 2024-4-17 16:24

    电路设计论坛

    220601 人关注
  • 关注了版块 2024-4-17 16:16

    华秋电路

    2668 人关注
  • 关注了版块 2024-4-17 16:15

    电机控制

    41373 人关注
  • 关注了版块 2024-4-17 14:51

    STM32/STM8技术论坛

    140087 人关注
  • 关注了版块 2024-1-16 11:26

    嵌入式技术论坛

    72143 人关注
ta 的专栏

谁来看过他

关闭

站长推荐 上一条 /6 下一条

返回顶部