首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PSoC 5,作为编码器的计数器UpCnt和DwnCnt模式

PSoC 5,作为编码器的计数器UpCnt和DwnCnt模式
EN

Stack Overflow用户
提问于 2021-10-25 14:41:33
回答 1查看 113关注 0票数 0

我是新在堆栈溢出社区,我希望你能帮助我这个问题。我试图读取一个编码器,而不使用中断。我想到的解决方案是使用一个计数器,使用PSoC,可以使用UpCnt & DwnCnt模式进行选择。Pin_encoder_B和Pin_encoder_A是我的两条信号线,根据编码器的旋转,它们会上下移动。我使用Pin_encoder_A作为时钟,当它出现时,我看Pin_encoder_B,如果Pin_encoder_B和Pin_encoder_A相等或不相等,我理解如果我的编码器顺时针或逆时针旋转,我应该能够适当地减少或增加计数器。我尝试了几乎所有东西,但函数Counter_ReadCounter();(在我的代码中,Counter_Logic_ReadCounter();)总是返回句点值。我不知道怎么解决它。有人能告诉我我的代码出了什么问题吗?谢谢你们所有人。

int main(void)

{

CyGlobalIntEnable;

UART_Start();

Counter_Logic_Start();

Timer_Start();

isr_sin_StartEx(Custom_ISR_SIN);

Pos_senza_isr=0;

代码语言:javascript
复制
for(;;)
{
}

}

#包括"InterruptRoutine.h“

#包括"project.h“

CY_ISR(Custom_ISR_SIN){

Timer_ReadStatusRegister();

Pos_senza_isr=Counter_Logic_ReadCounter();

sprintf(DataBuffer,"%ld\r\n",Pos_senza_isr);

UART_PutString(DataBuffer);

}

在这里输入图像描述

EN

回答 1

Stack Overflow用户

发布于 2022-10-03 13:42:31

您可以使用正交解码器组件,它满足您的上述要求。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69710059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档