历史上的今天

今天是:2024年11月06日(星期三)

正在发生

2019年11月06日 | MSP432E401Y单片机智能小车测速功能

发布者:清新家园 来源: eefocus关键字:MSP432E401Y  单片机  智能小车  测速功能 手机看文章 扫描二维码
随时随地手机看文章

 * MSP432E401Y

 * Description:本函数实现定时和测速功能  

 * 引脚:PD0->编码器输入信号

 *        

 * Author: Robin.J

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


/* DriverLib Includes */

#include


/* Standard Includes */

#include


uint32_t count = 0;

//uint32_t count1 = 0;

//uint32_t count2 = 0;


uint32_t CNT1 = 0;

uint32_t CNT2 = 0;

int speed = 0;

uint32_t time1 = 0;


void TIMER2A_IRQHandler(void)

{

    uint32_t getTimerInterrupt;


    count++;//脉冲计数,高电平触发

//    count1 = MAP_TimerValueGet(TIMER2_BASE,TIMER_B);

//    count2 = MAP_TimerLoadGet(TIMER2_BASE,TIMER_B);   

    /* Get timer interrupt status  and clear the same */

    getTimerInterrupt = MAP_TimerIntStatus(TIMER2_BASE, true);

    MAP_TimerIntClear(TIMER2_BASE, getTimerInterrupt);

}


void TIMER1A_IRQHandler(void)

{

    uint32_t getTimerInterrupt;


//    CNT1 = count;

//    CNT2 = CNT1;

//    speed = ((CNT1 - CNT2)/506) * 6000;

//    count = 0;


    time1++;//计时,每10ms增1

    if(time1 == 10){  

      CNT1 = count;

    }if(time1 == 20){


      CNT2 = count;

      //count1 = CNT2 -  CNT1;

      speed = (int)(((CNT2 - CNT1)/506.0) * 600);

      //count = 0;

      time1 = 0;

      count = 0;

    }


//    s_r = speed;

//    pid_r = IncPIDCalc_r(s_r);

//    pid_r *= 0.01;

//    pwm_pidr += pid_r;

//    if(pwm_pidr > 0.99){

//      

//      pwm_pidr = 0.99;

//      

//    }

//    

//    PWM_init(pwm_pidl,0.8);   

    /* Get timer interrupt status  and clear the same */

    getTimerInterrupt = MAP_TimerIntStatus(TIMER1_BASE, true);

    MAP_TimerIntClear(TIMER1_BASE, getTimerInterrupt);


}



void GPT_init(void)

{


    MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);


        while(!(SysCtlPeripheralReady(SYSCTL_PERIPH_GPIOA)))

    {

    }


    MAP_GPIOPinConfigure(GPIO_PA4_T2CCP0);

    MAP_GPIOPinTypeTimer(GPIO_PORTA_BASE, GPIO_PIN_4);

    MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER2);

    while(!(SysCtlPeripheralReady(SYSCTL_PERIPH_TIMER2)))

    {

    }


     MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER1);

    while(!(SysCtlPeripheralReady(SYSCTL_PERIPH_TIMER1)))

    {

    }


    MAP_TimerConfigure(TIMER2_BASE, TIMER_CFG_SPLIT_PAIR | TIMER_CFG_A_CAP_TIME_UP);

    MAP_TimerIntEnable(TIMER2_BASE, TIMER_CAPA_EVENT);

    MAP_TimerControlEvent(TIMER2_BASE, TIMER_A, TIMER_EVENT_POS_EDGE);



    MAP_TimerConfigure(TIMER1_BASE, TIMER_CFG_SPLIT_PAIR | TIMER_CFG_A_PERIODIC);

    MAP_TimerIntEnable(TIMER1_BASE, TIMER_TIMA_TIMEOUT);


    /* Since the 16-bit timer can count only 65536 value, we use the pre

     * scaler of 256 to divide down the count rate by 256. Thus the actual

     * count load is16e6/256 = 62500. Now when to count at 0.1 sec the

     * load value in the timer would be 62500 * 0.1 =6250. */

    MAP_TimerPrescaleSet(TIMER1_BASE, TIMER_A, 255);

    MAP_TimerLoadSet(TIMER1_BASE, TIMER_A, 625);//10ms

    /* Enable Timer Interrupt */

    MAP_IntEnable(INT_TIMER2A);


    MAP_IntEnable(INT_TIMER1A);


    /* Enable the timer count */

    MAP_TimerEnable(TIMER2_BASE, TIMER_A);


    MAP_TimerEnable(TIMER1_BASE, TIMER_A);



}

/******************* (C) COPYRIGHT 2018 DY EleTe *****END OF FILE************/


关键字:MSP432E401Y  单片机  智能小车  测速功能 引用地址:MSP432E401Y单片机智能小车测速功能

上一篇:MSP432学习笔记:IAR的环境配置(官方demo程序的测试)
下一篇:MSP432时钟系统CS

推荐阅读

       在10月的发布会上,苹果推出了全新设计、性能更加强大的两款iPad Pro,除了A12X仿生处理器之外,内存最大也升级到了6GB,存储更是一下子提升到了1TB。  对于新款iPad Pro,苹果表示在性能方面超过目前市面上在售的92%的便携式电脑,图形性能比第一代iPad提升1000倍,配备的USB-C接口能够驱动5K显示器。  不可否认的是,新款iPad Pro...
10月17日OPPO Reno Ace首销,销售额五分钟破亿。11月1日,Reno Ace全渠道正式开售,用户反响强烈,各地销售火爆异常。开售仅30分钟,便在天猫、京东、苏宁平台斩获多项销量、销售额冠军,OPPO品牌销售额8分钟超去年全天!网友们纷纷在朋友圈和微博晒出自己的订单截图,还有网友最快下单一小时便收到了手机,供货和配送速度可谓神速。OPPO Reno Ace凭...
今年的iPhone 12系列总计有64GB、128GB、256GB和512GB四种容量,从国内外的情况来看,尽管目前仅上市开卖了两款,但销量着实恐怖。Digitimes报道称,业内分析称,单单就iPhone 12系列来看,明年将消耗全球闪存芯片总产能的5%到6%左右。从目前的拆解来看,iPhone 12/12 Pro以三星闪存为主,当然,肯定还存在其它供应商。当然,有消息称,为了支持8K视频...
11月2日,西安国际港务区临港产业园举行西安京虹显示科技有限公司设备进入仪式,迎接西安港液晶显示绑定模组项目进入产业园绑定模组生产基地进行调试。作为终端显示产业链的核心配套,西安港液晶显示屏绑定模组项目总投资5亿元,一期投资1.6亿元,计划12月份正式投产运营,年产值10亿元。项目于2021年7月进厂装修,设备投资9000万元,引进设备包含边框研磨...

史海拾趣

问答坊 | AI 解惑

给初学者的一点建议:推荐一本好书《8051单片机实践与应用全书》

我学51的时候 汇编的教材最少也读了7~8遍,书上都写满了51教材都是大同小异,刚学51的同志们就是要多多的看51教材,老是看一本没劲,发一本新的给大家看看啊。…

查看全部问答∨

同学们,我找到一款功能不错,价格便宜的PCB设计软件

我找到一款功能不错的PCB设计软件,叫EAGLE,是德国一家叫CadSoft的公司研发的,这个软件有四个版本,专业版,标准版,免费试用版和简化版。专业版支持255个绘图层,带有自动布线功能,而且还可以导入其他设计工具或程序的数据,生成Gerber和Excell ...…

查看全部问答∨

三星2416在WINCE5.0上的休眠问题,头大了。。高手进来看看。。

能够正常进入休眠模式,但是唤醒后无论有没有操作,过一小会就出现异常并死机,串口打印如下信息: 红色的是没有操作死机的打印信息: Data Abort: Thread=83f7f6d0 Proc=815fb580 \'device.exe\' AKY=00000005 PC=8039bd50(NK.EXE+0x0019bd50) ...…

查看全部问答∨

关于CeSeekDatabase函数的用法(WINCE自带数据库)

这样一个数据表 材料  直径  号码    长度 Q235  10    1      15 Q235  10    2      21 . . . #45    5&n ...…

查看全部问答∨

添加的开机运行程序 卡住

写了一个小的应用程序,通过修改注册表,设置成开机自动运行.(我用vs2005远程跑是没问题的) 可是,开机时会卡在log界面上.请问下高手,问题在哪里? 添加注册表如下: [HKEY_LOCAL_MACHINE\\init] "Launch50"="startup.exe" "Depend50"= ...…

查看全部问答∨

有关CE上显示字型的问题

现在我的系统中使用的字型文件是一个名叫:mingliu.ttc的字型文件(这个是一个能支持繁体中文的字型文件)。现在我把系统的字体修改为:使用New Times Roman字型,这样就会出现一个问题,在显示中文的地方就会出现口口(框框)不能正常显示。这应该 ...…

查看全部问答∨

这个buck-boost电路换MOS管后带负载电压下降了

请大家帮我看一下这个电路图,最开始用推荐设计上的MOS管IRF7822,发现容易被击穿,一看原来是VDSS超过了规定的最大值30V,于是我换了一个和IRF7822参数基本相同的MOS管,只是耐压值为40V,一切都很正常!最近我又用力一个耐压值为60V的IRF7855替换 ...…

查看全部问答∨

哪位有BTS7810 BTS723的PDF

哪位有BTS7810   BTS723的PDF 谢谢…

查看全部问答∨

真诚请教UBOOT-1.1.4编译问题,谢谢

我用的是CROSS—2.95.3,编译1.1.2没问题,但编译1.1.4老是不能,出现在cc1: invalid option \'abi=apcs-gnu\'错误,把编译系统换成CROSS-3.2也还是同样的问题。今天试了下CROSS-3.3.2也还是同样的问题。   是编译系 ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

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

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

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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