历史上的今天
返回首页

历史上的今天

今天是:2024年09月16日(星期一)

2018年09月16日 | STM32编码器的接口模式

2018-09-16 来源:eefocus

1.编码器

这里写图片描述 
图1 编码器示意图 
图1为编码器的示意图,中间是一个带光栅的码盘,光通过光栅,接收管接收到高电平,没通过,接收到低电平。电机旋转一圈,码盘上有多少光栅,接受管就会接收多少个高电平。

2.stm32编码器接口模式(寄存器)

STM32的编码器接口模式在STM32中文参考手册中有详细的说明。 
这里写图片描述
图2 STM芯片编码器接口模式说明 
下图是一个计数器操作的实例,显示了计数信号的产生和方向控制。它还显示了当选择了双边沿时,输入抖动是如何被抑制的;抖动可能会在传感器的位置靠近一个转换点时产生。在这个例子中,我们假定配置如下: 
这里写图片描述 
这里写图片描述
图3 编码器模式下的计数器操作实例 
TI 1波形先于TI 2波形90°时,每当边沿变化,计数器加1(可通过寄存器设置加减),可以看出一个光栅,被计数了4次。TI 1波形后于TI 2波形90°时 ,每遇到一次边沿变化,计数器减1。

1.//TIM2_Encoder_Init,Tim2_CH1(PA0);Tim2_CH2(PA1)

2.  //arr:自动重装值 0XFFFF

3.  //psc:时钟预分频数        ,不分频

4.  void TIM2_Encoder_Init(u16 arr,u16 psc)

5.  {

6.      RCC->APB1ENR|=1<<0;       //TIM2时钟使能

7.          RCC->APB2ENR|=1<<2;       //使能PORTA时钟

8.          

9.      GPIOA->CRL&=0XFFFFFF00;   //PA0、PA1 清除之前设置

10.     GPIOA->CRL|=0X00000044;   //PA0、PA1 浮空输入

11.             

12.     TIM2->ARR=arr;            //设定计数器自动重装值 

13.     TIM2->PSC=psc;            //预分频器

14. 

15.         TIM2->CCMR1 |= 1<<0;          //输入模式,IC1FP1映射到TI1上

16.         TIM2->CCMR1 |= 1<<8;          //输入模式,IC2FP2映射到TI2上

17.         TIM2->CCER |= 0<<1;                  //IC1不反向

18.         TIM2->CCER |= 0<<5;           //IC2不反向

19.         TIM2->SMCR |= 3<<0;                  //所用输入均在上升沿或下降沿有效

20.         TIM2->CR1 |= 1<<0;                  //使能计数器

21. }


推荐阅读

史海拾趣

星海公司的发展小趣事

面对数字化时代的挑战和机遇,星海公司开始积极推进数字化转型。公司引入先进的生产管理系统和数字化营销手段,提高生产效率和市场响应速度。同时,星海公司还积极探索新的商业模式和合作方式,以适应不断变化的市场需求。展望未来,星海公司将继续秉承“质量为本、创新为魂”的发展理念,致力于成为全球领先的乐器制造商和音乐教育服务提供商。

博林(BL)公司的发展小趣事

博林公司自创立以来,一直致力于电子行业的技术创新。公司拥有一支专业的研发团队,不断投入巨资进行技术研发和创新。在某一时期,博林公司成功开发出了一款具有颠覆性的电子产品,凭借其卓越的性能和独特的设计,迅速在市场上获得了广泛认可。这款产品的成功推出,不仅为博林公司带来了巨大的经济效益,也进一步巩固了其在电子行业的领导地位。

晨晶电子(Chenjing Electronics)公司的发展小趣事

随着国内市场的不断饱和,晨晶电子积极寻求海外市场的发展机遇。公司凭借优质的产品和服务,成功打开了国际市场的大门。通过与国外客户的深入合作,晨晶电子的产品逐渐走向世界,其品牌影响力也日益增强。同时,公司还积极参与国际电子行业的交流与合作,不断提升自身的国际竞争力。

承兴(CX)公司的发展小趣事

2017年,承兴公司做出了一个大胆的决定——收购由“漫威之父”斯坦·李创立的POW!娱乐公司。这一收购不仅使承兴在泛娱乐产业获得了重要的IP资源,也为其未来的发展注入了新的动力。承兴开始将电子技术与泛娱乐产业相结合,推出了一系列具有创新性和竞争力的产品。

AEL [AEL Crystals Ltd]公司的发展小趣事

AEL Crystals Ltd公司成立于1960年,最初专注于石英频率控制元件的研发与生产。在创立初期,公司面临着技术挑战和市场竞争的双重压力。然而,凭借创始人的远见卓识和团队的不懈努力,AEL Crystals逐渐在石英频率控制领域站稳了脚跟。公司通过持续改进生产工艺和提高产品质量,逐渐赢得了客户的信任和支持。

Hpc Technology Inc公司的发展小趣事

随着业务的不断发展,AEL Crystals意识到全球化战略的重要性。公司开始在全球范围内寻找合适的生产基地,并在英国、日本、台湾、韩国等地区建立了生产基地网络。这一战略布局使得AEL Crystals能够更好地满足全球客户的需求,同时也降低了供应中断的风险。

问答坊 | AI 解惑

请问 STM32芯片外部时钟能用有源晶振吗?谢谢

我现在做的一个板子上面用到AD652芯片,也需要外部时钟输入。现在对时钟感到很困惑,希望大家能给点意见。我的想法是: 1.stm32用石英晶振,AD652用有源晶振,但是1-2M的有源晶振很难买。 2.只用有源晶振,通过分频器分别给stm32、AD652提供时钟 ...…

查看全部问答>

重新发帖 MSP430用I2C方式读写EEPROM的问题。

现在我把代码贴一下。代码不知道哪里有问题。现在问题是写不进去。I2CReceiveACK函数中SDA_IN一直为1 ,也就是SDA线P3.1一直为高,所以一直停在那里。 //使用MSP430F2618 完成该功能,P3.2 作为SCL,P3.1 作为SDA EEPROM型号为24LC64 #define SDA ...…

查看全部问答>

AD转换与结果结果显示放入死循环 出问题了

我把AD转换和结果显示放进一个while(1)的死循环,结果显示出现第一个数码管很亮,后面的数码管都很暗很暗,而且显示数值永远不变,如果不把AD转换函数和显示函数放进死循环,整个程序只进行一次AD转换一次显示就不会这样了,为什么? 我用的显示是 ...…

查看全部问答>

keil Debug里面的view为什么用不了?

我是新手,现在输出hello 教材上说Debug理的VIEW能看输出结果,但是我的为什么用不了啊》?…

查看全部问答>

PB订制wince问题?

用PB订制wince5,是不是必须用同时生成的eboot? 用别人的eboot行吗? 为什么我订制完wince后,用PB生成的eboot启动,就停在“Starting eboot ...”不动了。 平台是pxa270,eboot要做什么修改吗?…

查看全部问答>

请问点用C#开发WINDOWS CE的及格菜鸟问题

1.编译用模拟器,那请问生成的程序在哪里呢? 2.比如我想调用个XML,可是CE里面没有啊,我怎么把文件传导到CE中呢?连接的话找不到模拟器模拟出来的CE系统啊?…

查看全部问答>

突然connect不上了?help me

刚开始还用着挺好的,新建了一个工程后,连了好多次,怎么也connect不上。 挺急的,还请大家多帮忙,非常感谢。 Error connecting to the target: Error 0x80001240/-1072 Fatal Error during: Initialization, OCS, Target,  Device d ...…

查看全部问答>

求助MSP430f2132+CC1100

急求MSP430f2132+CC1100的程序,不用很复杂,只需要能简单的发送和接收数据就可以了...急求...谢谢!…

查看全部问答>

罗姆工程师高交会纪实录

高交会快开始了,算是咱行业里挺大的一事。看新闻上说说差不多有200多家企业都过来,咱行业里那些排名靠前的都差不多参展的,我们罗姆这次也参展了。之前我空闲的时候在天涯上开过贴的,作为罗姆的工作人员这次我接到任务要去现场做技术说明,就想 ...…

查看全部问答>