2439|5

1万

帖子

16

TA的资源

版主

楼主
 

【雅特力开发板 AT32F421 测评】6、再研究下EC11编码器 [复制链接]

 

上次是中断调成功的,但这次我用读电平也成功了。上次我觉得中断最好,但这次我觉得还是电平比较好点。因为毕竟不用中断。

这次还是那张图:

可以看出,在A为低时如果B也为低就是顺时针转。

                  在A为低时如果B为高就是逆时针转。

 

上次没有调成就是因为加了个330欧的限流电阻,干扰了波的形状。

 

 

 

 

我把A和B分别接在A8,A9上程序如下:

void EC11_Display()
{

  
   uint8_t i;  
	
	EC11_Flag = 0;
  Left_Flag = 0;
  Right_Flag = 0;	
	
	if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pins_8) == 0)//开始检测是否旋转了开关
                {
                        Delay_ms(1);//消除抖动
                        if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pins_8) == 0) //确实是旋转了,进行正反转判断
                        {
                                if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pins_9) == 0)//正转,进行正转处理
                                {
                                        EC11_Value++;//为了使LED正向递增
																	     
                                }
                                else if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pins_9) == 1)//反转,进行反转处理
                                {
                                        EC11_Value--;//为了使LED反向递减
//																	      printf("This is %d\n\t",EC11_Value);
//																	      Delay_ms(200);//延时等待
                                }
                        }
                        while(GPIO_ReadInputDataBit(GPIOA,GPIO_Pins_8) == 0)//等待开关A端复位(断开),防止出现乱加减的现象
                        {
                                Delay_ms(20);//延时等待
                        }
	
	
					}
	

	
	
}

运行的结果如下:

 

最新回复

谢谢分享,期待后续!   详情 回复 发表于 2021-4-25 17:13

赞赏

1

查看全部赞赏

点赞(2) 关注(2)
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
 
 

回复
举报

6828

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

编码器左右转功能,用的定时器来检测状态多长时间检测一次

楼主评测进度很快已经第六篇了

 

点评

定时器一定可以,我想越快越好。比如2MS一次,因为用户转的速度是不一定的。  详情 回复 发表于 2021-4-26 08:17
 
 
 

回复

1942

帖子

3

TA的资源

版主

板凳
 

不错不错!进度十分之快!

 
 
 

回复

1411

帖子

3

TA的资源

版主

4
 
评测很详细,加油
 
 
 

回复

7671

帖子

2

TA的资源

五彩晶圆(高级)

5
 

谢谢分享,期待后续!

个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 
 

回复

1万

帖子

16

TA的资源

版主

6
 
Jacktang 发表于 2021-4-23 22:34 编码器左右转功能,用的定时器来检测状态多长时间检测一次 楼主评测进度很快已经第六篇了  

定时器一定可以,我想越快越好。比如2MS一次,因为用户转的速度是不一定的。

个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表