原创 两位增量式旋转编码器的C语言实现(二)

2020-2-16 12:48 4372 21 4 分类: MCU/ 嵌入式 文集: C语言
int16_t g_RotateEncoderOutput;
static int8_t s_TruthTable[4][4] = { 
  { 0,+1,-1, 0},
  {-1, 0, 0,+1},
  {+1, 0, 0,-1},
  { 0,-1,+1, 0}
};
/***************************************************************************
*函数描述:两位增量式相对旋转编码器状态处理函数
*输入变量:uint8_t state,滤波后的编码器信号
*输出变量:g_RotateEncoderOutput
***************************************************************************/
void RotateEncoder_StateProcess(uint8_t state)
{
static uint8_t prev_state = 0;
g_RotateEncoderOutput += (int16_t)s_TruthTable[state][prev_state];
prev_state = state;
}

作者: Qeecoda, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-1099225.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
21
关闭 站长推荐上一条 /7 下一条