MSP432E401Y电机编码器QEI模块

发布者:SecretWhisper最新更新时间:2020-04-06 来源: eefocus关键字:MSP432E401Y  电机编码器  QEI模块 手机看文章 扫描二维码
随时随地手机看文章

/* DriverLib Includes */

#include


/* Standard Includes */

#include

#include

#include


unsigned long  COUNT = 0;

unsigned long  POS = 0;

int  s;

int d;


//********************************************************************

//QEI0初始化


int

QEIInit (void)

{

    QEIConfigure(QEI0_BASE,(QEI_CONFIG_CAPTURE_A_B |QEI_CONFIG_NO_RESET|

    QEI_CONFIG_QUADRATURE|QEI_CONFIG_NO_SWAP),10000000);//使用A,B通道共4个边沿计算位置


   /* GPIOPadConfigSet(GPIO_PORTL_BASE, GPIO_PIN_1,

    GPIO_STRENGTH_4MA,

    GPIO_PIN_TYPE_STD);


    GPIOPadConfigSet(GPIO_PORTL_BASE, GPIO_PIN_2,

    GPIO_STRENGTH_4MA,

    GPIO_PIN_TYPE_STD);


    GPIOPadConfigSet(GPIO_PORTL_BASE, GPIO_PIN_3,

    GPIO_STRENGTH_4MA,

    GPIO_PIN_TYPE_STD);

  */

    GPIOPinTypeQEI(GPIO_PORTL_BASE,GPIO_PIN_1|GPIO_PIN_2);//配置PL1,PL2为PhA1,PhB1

    QEIVelocityConfigure(QEI0_BASE, QEI_VELDIV_1, 120000000/100);//10ms


    //使能速度计算,使能QEI

    QEIVelocityEnable(QEI0_BASE);

    QEIEnable(QEI0_BASE);


    //速度计时器计时完成时触发中断

    QEIIntEnable(QEI0_BASE,QEI_INTTIMER);

    IntEnable(INT_QEI0);


    return(0); 

}


void QEI0_IRQHandler(void)

{



  QEIIntClear(QEI0_BASE, QEI_INTTIMER);

  POS = QEIPositionGet(QEI0_BASE);

  d = QEIDirectionGet(QEI0_BASE);


    COUNT = QEIVelocityGet(QEI0_BASE);

    s = (COUNT*6000)/2024;

    printf("The Speed is %d .Velocity is %d.Direction is %d.n",s,COUNT /4,d);

    COUNT = 0;


}


 int main(void)

{


    /* Configure the system clock for 120 MHz */

    MAP_SysCtlClockFreqSet((SYSCTL_XTAL_25MHZ | SYSCTL_OSC_MAIN |

                                          SYSCTL_USE_PLL | SYSCTL_CFG_VCO_480),

                                          120000000);


    MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_QEI0);//使能QEI0外设

    MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOL);/*enable L port*/

    MAP_IntEnable(INT_GPIOL);


    GPIOPinConfigure(GPIO_PL1_PHA0);

    GPIOPinConfigure(GPIO_PL2_PHB0);


    QEIEnable(QEI0_BASE);//使能正交编码器QEI0


    QEIInit();

    while(1)

    {


    }

}

关键字:MSP432E401Y  电机编码器  QEI模块 引用地址:MSP432E401Y电机编码器QEI模块

上一篇:MSP430应用技巧4:创建MSP430Ware工程项目的方法
下一篇:MSP432E401Y单片机智能小车PID调速代码

推荐阅读最新更新时间:2024-11-11 15:16

STM32 Cubemax(六) —— STM32利用定时器编码器模式处理带编码器直流电机
前言 电赛延期了,趁有时间再写点东西吧. 编码器电机配置较为繁琐,本文较长,耐心看下去,一定有收获. 本文适合已经对编码器有所了解的同学观看,如果对编码器原理还不太理解,可以看看CSDN中别人讲编码器的,个人觉得已经讲的十分清楚了,这里主要讲解怎么使用Cubemax去使用编码器 一、硬件准备 本次实验使用的是带增量式AB相霍尔编码器的直流减速电机 简单介绍一下这款电机,减速比为1:30,即输出轴转一圈,电机内部实际转30圈,霍尔编码器为13位编码器,即电机每转,对于编码器有2的13次方的增量.(简单的说,上面那个霍尔编码器检测的圆盘,转一圈,检测13个脉冲) 2.电机所使用的电机驱动为应该大家都十分熟悉的L2
[单片机]
STM32 Cubemax(六) —— STM32利用定时器<font color='red'>编码器</font>模式处理带<font color='red'>编码器</font>直流<font color='red'>电机</font>
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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