历史上的今天
返回首页

历史上的今天

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

2018年09月16日 | stm32的编码器配置

2018-09-16 来源:eefocus

void TIM4_Encoder_Config(void)

{

    GPIO_InitTypeDef GPIO_InitStructure;

    TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;

    TIM_ICInitTypeDef TIM_ICInitStructure;      


    //PB6: A TMI4_CH1, PB7 B TMI4_CH2 

    RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE);

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);


    GPIO_StructInit(&GPIO_InitStructure);

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7;         

    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;

    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

    GPIO_Init(GPIOB, &GPIO_InitStructure);                           



    TIM_DeInit(TIM4);

    TIM_TimeBaseStructInit(&TIM_TimeBaseStructure);

    TIM_TimeBaseStructure.TIM_Period = ENCODER_CNT*4; 

    TIM_TimeBaseStructure.TIM_Prescaler = 0;

    TIM_TimeBaseStructure.TIM_ClockDivision =TIM_CKD_DIV1 ;

    TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;

    TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure);              


    TIM_EncoderInterfaceConfig(TIM4, TIM_EncoderMode_TI12, TIM_ICPolarity_BothEdge ,TIM_ICPolarity_BothEdge);

    TIM_ICStructInit(&TIM_ICInitStructure);

    TIM_ICInitStructure.TIM_ICFilter = 6; 

    TIM_ICInit(TIM4, &TIM_ICInitStructure);


    TIM_ClearFlag(TIM4, TIM_FLAG_Update);

    TIM_ITConfig(TIM4, TIM_IT_Update, ENABLE);

    TIM4->CNT = 0;

    TIM_Cmd(TIM4, ENABLE);

}


stm32f407


void TIM4_Encoder_Config(void)

{

    GPIO_InitTypeDef GPIO_InitStructure;

    TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;

    TIM_ICInitTypeDef TIM_ICInitStructure;      


    //PD12 ch1  A,PD13 ch2 B 

    RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE);

    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD, ENABLE);


    GPIO_StructInit(&GPIO_InitStructure); 

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12 | GPIO_Pin_13;        

    GPIO_InitStructure.GPIO_Mode =  GPIO_Mode_AF;//GPIO_Mode_IN;//GPIO_Mode_IN_FLOATING;

    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;


    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

    GPIO_Init(GPIOD, &GPIO_InitStructure);                           


    GPIO_PinAFConfig(GPIOD,GPIO_PinSource12,GPIO_AF_TIM4);

    GPIO_PinAFConfig(GPIOD,GPIO_PinSource13,GPIO_AF_TIM4);


    TIM_DeInit(TIM4);

    TIM_TimeBaseStructInit(&TIM_TimeBaseStructure);

    TIM_TimeBaseStructure.TIM_Period = ENCODER_CNT*4;  

    TIM_TimeBaseStructure.TIM_Prescaler = 0; 

    TIM_TimeBaseStructure.TIM_ClockDivision =TIM_CKD_DIV1 ; 

    TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  

    TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure);              


    TIM_EncoderInterfaceConfig(TIM4, TIM_EncoderMode_TI12, TIM_ICPolarity_BothEdge ,TIM_ICPolarity_BothEdge); 

    TIM_ICStructInit(&TIM_ICInitStructure); 

    TIM_ICInitStructure.TIM_ICFilter = 6;   

    TIM_ICInit(TIM4, &TIM_ICInitStructure); 


    TIM_ClearFlag(TIM4, TIM_FLAG_Update); 

    TIM_ITConfig(TIM4, TIM_IT_Update, ENABLE); 

    TIM4->CNT = 0;//10000

    TIM_Cmd(TIM4, ENABLE);  

}   


推荐阅读

史海拾趣

Allegro公司的发展小趣事

Allegro Microsystems, Inc.是一家专注于开发、制造和销售磁性、混合和传感器集成电路的公司。以下是关于Allegro公司发展的五个相关故事:

  1. 创立与早期发展: Allegro公司成立于1967年,最初名为RMS Electronics。该公司最初专注于生产磁性元件和感应器,以满足汽车和工业市场的需求。随着时间的推移,Allegro迅速发展,并在磁性传感器技术领域取得了重要进展。

  2. 成为行业领导者: 在20世纪90年代,Allegro开始将重点转向混合集成电路的开发,这进一步加强了公司在汽车电子和工业自动化市场的地位。Allegro通过不断创新和技术投资,逐渐成为全球领先的磁性传感器和混合集成电路制造商之一。

  3. 技术创新与专利保护: Allegro公司在磁性传感器和混合集成电路领域积累了丰富的专利技术。该公司不断进行研发和技术创新,推出了许多行业领先的产品,如电流传感器、霍尔效应传感器等。Allegro不仅积极保护自己的知识产权,还与其他公司合作,共同推动技术的进步。

  4. 全球化发展: 随着全球汽车和工业市场的不断发展,Allegro公司积极拓展国际业务,并在全球范围内建立了广泛的销售网络和生产基地。公司在美国、欧洲和亚洲设有多个研发中心和制造工厂,以满足不同地区客户的需求。

  5. 可持续发展与未来展望: Allegro公司致力于可持续发展和社会责任,采取了多项措施来减少对环境的影响,如提高能源效率、减少废物排放等。未来,Allegro将继续投入研发和创新,推出更多高性能、低功耗的产品,以满足不断增长的市场需求,并在全球范围内维持其领先地位。

粤翔(FlyWin)公司的发展小趣事
如硬盘、闪存等存储设备,需要掉电保护电路来确保数据在断电时不会损坏。
DECON公司的发展小趣事

企业文化是企业的灵魂,DECON公司注重企业文化的建设和传承。公司倡导“诚信、创新、卓越”的企业精神,鼓励员工勇于创新、追求卓越。同时,公司还注重团队建设和人才培养,为员工提供广阔的发展空间和良好的职业前景。这些举措不仅增强了员工的凝聚力和归属感,也为企业的发展注入了源源不断的动力。

AW Industries Inc公司的发展小趣事

在国内市场取得成功后,AW Industries Inc开始寻求国际化发展。公司首先选择了几个具有潜力的海外市场进行拓展,并通过与当地企业合作、建立销售网络等方式逐步打开市场。随着国际化战略的深入实施,公司的业务范围不断扩大,国际市场份额也逐步增加。

Advantech公司的发展小趣事

除了追求经济效益外,AW Industries Inc还注重履行社会责任。公司积极参与环保事业,通过采用环保材料、减少废弃物排放等方式降低生产对环境的影响。同时,公司还关注员工福利和社会公益事业,通过捐款、资助等方式回馈社会。这些举措不仅提升了公司的社会形象,也为公司的长期发展奠定了坚实的基础。


请注意,这些故事是基于电子行业的一般情况虚构的,并不代表任何真实事件或公司。如果您需要关于特定公司的真实发展故事,建议您查阅相关资料或访问公司官网以获取更准确的信息。

Desco Tools公司的发展小趣事

Desco Tools公司最初成立于上世纪70年代,专注于防静电工具的研发和生产。当时,随着电子行业的迅速发展,对静电防护的需求日益增加。Desco Tools公司凭借其敏锐的市场洞察力和技术实力,成功开发出了一系列防静电工具,如防静电手套、手腕带等,这些产品迅速在市场上获得了认可,为公司的发展奠定了坚实的基础。

问答坊 | AI 解惑

关于1MHz干扰器回复

你好,1MHz属于中波频段内。你要干扰的信号源的场强和调制方式我不知道。我只能给你提供个10W左右的1MHz的高频振荡器,我曾经用这个做过调幅发射机。你如果做干扰器的话还需要锯齿拨波发生器做信号源。…

查看全部问答>

A/D转换

我想要A/D转换的程序设计…

查看全部问答>

ARM汇编器所支持的伪指令1

4.1.1 符号定义(Symbol Definition)伪指令 符号定义伪指令用于定义ARM汇编程序中的变量、对变量赋值以及定义寄存器的别名等操作。常见的符号定义伪指令有如下几种: — 用于定义全局变量的GBLA、GBLL和GBLS。 — 用于定义局部变量的LCLA、LCLL ...…

查看全部问答>

小弟要去面试 有些问题搞不懂 请大哥大姐指导一下小弟

(一) 求#define fun(a,b) a+b   问 30/fun(5,6)*fun(8,9)运算结果   34 ? (二)写出4种BOOL值   char* p1=\"abcd\";   char p2[]=\"abcd\";   const char *p3=\"abcd\";   ...…

查看全部问答>

ignoring a call with SMS

BOOL IncomingBarPWndProc (HWND hwnd, UINT uimessage, WPARAM wParam, LPARAM lParam) {     BOOL    bResult         = FALSE;     LPCTSTR        ...…

查看全部问答>

有wince下显示jpeg的源码么

最好是显示buffer的, 不是loadfile的…

查看全部问答>

优势公司推荐

请同志们推荐一下质量和价格好的渠道,资源共享STM32 样片我一般去力源拿  多了的时候也会跟万利订STM32:力源、万利LPC21XX我一般去胜创特,周立功那里从来不去,听买芯片的说北天星的最便宜 哈哈不了解LPC2132胜创特25 ...…

查看全部问答>

ez430用在仪表上有什么优势吗?

没接触过这款芯片,不知道其能不能用于仪表类无线应用,其相比于其他的有啥优势吗?哪位大哥给说下。还不知能不能抢到一块呢…

查看全部问答>

振荡器的四个引脚怎么接

请各位帮助我指点一下,振荡器的四个引脚怎么接?是直接输出频率还是需要什么外围电路?我最近想用有源振荡器为CPLD提供全局时钟,但没使用过有源振荡器。…

查看全部问答>

谈谈430中ADC10四种通道采样的问题,希望能对大家有所帮助

起始对于ADC10四种通道采样的问题,如何操作ADC10,我想大家应该都知道,不知道的就去看手册吧。对于大多数人来说,就像我自己,最大的困难就是如何取值,ADC10中自带一个DTC可以不借助CPU而自动传值,但是传到RAM里的值如何读出来输入到引脚上,这 ...…

查看全部问答>