历史上的今天
返回首页

历史上的今天

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

正在发生

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

2019-11-06 来源:eefocus

 * 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************/


推荐阅读

史海拾趣

Good Will Instrument Co., Ltd.公司的发展小趣事

对于恒温箱控制器电路,网友可能会有多种问题,以下是一些常见问题及其详细回答:

一、恒温箱控制器电路的基本原理是什么?

回答
恒温箱控制器电路的基本原理是通过温度传感器(如热敏电阻、热电偶等)实时检测恒温箱内的温度,并将检测到的温度信号转换为电信号(如电压或电流信号)。这个电信号随后被送入控制器中进行处理,与预设的温度值进行比较。如果检测到的温度高于或低于预设值,控制器会发出指令,通过调节加热元件(如电热丝、加热管等)或制冷元件(如压缩机、半导体制冷片等)的工作状态,使恒温箱内的温度回到预设值,从而实现恒温控制。

二、恒温箱控制器电路常见的故障有哪些?

回答
恒温箱控制器电路常见的故障包括但不限于以下几种:

  1. 温度显示异常
    • 可能原因:温度传感器损坏、控制器内部电路故障、显示屏故障等。
    • 解决方法:检查并更换损坏的温度传感器、修复或更换控制器内部故障电路、更换显示屏等。
  2. 温度控制不准确
    • 可能原因:控制器参数设置错误、温度传感器位置不当、加热/制冷元件故障等。
    • 解决方法:重新校准控制器参数、调整温度传感器位置、检查并修复加热/制冷元件等。
  3. 控制器无法启动
    • 可能原因:电源故障、控制器内部保险丝熔断、电路板短路等。
    • 解决方法:检查电源是否正常、更换熔断的保险丝、修复电路板短路等。

三、如何检查恒温箱控制器电路是否正常工作?

回答
检查恒温箱控制器电路是否正常工作,可以按照以下步骤进行:

  1. 检查电源
    • 确认电源插头是否牢固插入插座,电源线是否完好无损。
    • 使用万用表测量电源电压,确保在控制器要求的范围内。
  2. 检查温度传感器
    • 使用万用表测量温度传感器的电阻值或电压值,与标准值进行比较,判断传感器是否正常。
    • 检查传感器与控制器之间的连接是否牢固可靠。
  3. 检查控制器显示
    • 观察控制器显示屏上的温度读数是否准确,有无异常显示。
  4. 检查加热/制冷元件
    • 检查加热/制冷元件是否正常工作,可以通过观察其工作状态或使用万用表测量其电流/电压值来判断。
  5. 进行功能测试
    • 设置一个预设温度值,观察恒温箱是否能准确达到并保持在预设温度。
    • 如果条件允许,可以使用更精确的温度测量设备(如高精度温度计)对恒温箱内的温度进行校验。

四、如何维护和保养恒温箱控制器电路?

回答
为了保持恒温箱控制器电路的长期稳定工作,可以进行以下维护和保养工作:

  1. 定期清洁
    • 定期清洁恒温箱内部和外部的灰尘和污垢,防止对控制器电路造成不良影响。
    • 清洁时应断开电源,并使用合适的清洁工具和清洁剂。
  2. 检查连接
    • 定期检查温度传感器、加热/制冷元件与控制器之间的连接是否牢固可靠,如有松动应及时紧固。
  3. 校准参数
    • 定期对控制器进行校准,确保温度读数准确可靠。
    • 校准时应按照控制器的使用说明书或生产厂家的建议进行操作。
  4. 更换老化部件
    • 对于已经老化或损坏的部件(如温度传感器、加热/制冷元件等),应及时进行更换。
  5. 注意使用环境
    • 恒温箱应放置在通风良好、干燥清洁的环境中,避免阳光直射和潮湿环境对控制器电路造成损害。
  6. 定期维护
    • 定期对恒温箱进行全面检查和维护,包括控制器电路、加热/制冷系统、进出料装置等部分。
    • 维护时应按照设备的操作手册和生产厂家提供的维护保养指导进行。
全智景(Allvision)公司的发展小趣事

全智景公司自成立以来,一直致力于电子视觉技术的研发。早期,公司面临激烈的市场竞争和技术瓶颈,但全智景团队凭借坚韧不拔的精神,成功研发出了一款具有划时代意义的高清摄像头芯片。这款芯片以其出色的图像质量和稳定性,迅速获得了市场的认可,并推动了整个电子视觉行业的进步。这一技术突破不仅让全智景公司在市场上站稳了脚跟,也为公司后续的发展奠定了坚实的基础。

Eska公司的发展小趣事

除了造纸业务外,Eska公司还专注于消防手套的研发与制造。50多年前,Eska就开始研发消防手套,并一直将安全性放在首位。公司严格遵循最大安全性、敏感度、耐火、切割保护、防热和防伤害等标准,确保消防手套在各种环境下都能为消防员提供可靠的保护。Eska的消防手套因其卓越的性能和质量,深受世界和欧洲消防竞技大赛冠军及参赛者的信任和喜爱。

GainSpan ( Telit)公司的发展小趣事

进入21世纪后,风华高科加快了国际化进程。公司积极与国际知名企业开展合作,引进先进技术和设备,提升产品竞争力。同时,公司还不断拓展海外市场,产品远销北美、东南亚等地区。这些举措不仅提升了公司的国际知名度,也为公司带来了更多的业务机会和增长空间。

倍思特(BEST)公司的发展小趣事

风华的故事始于1984年,当时广东肇庆风华电子厂成立,最初业务聚焦于收录机装配。一年后,即1985年,国内首条从美国引进的年产1亿只片式多层陶瓷电容器生产线落户风华,标志着公司正式踏入高新技术产业领域。这一举措不仅提升了公司的技术实力,也为后续的发展奠定了坚实基础。

大毅科技公司的发展小趣事

为了进一步提升产品质量和竞争力,大毅科技积极申请并获得了多项国际品质认证,如ISO9001、ISO14001、TS16949等。这些认证不仅证明了大毅科技在品质管理方面的卓越能力,还为公司打开了通往国际市场的大门。随着认证的不断增多,大毅科技的产品开始出口到全球各地,与索尼、雅马哈等知名企业建立了长期合作关系。

问答坊 | AI 解惑

[求助] LM386 Pspice model

[请问哪位大侠知道去哪可以下到LM386 Pspice model,不胜感谢!…

查看全部问答>

2010年新兴视频监控技术指南(序列二)

IP摄像机(标清)潜在优势     使用IP摄像机最突出的优势在于它可以直接把摄像机连接到IP网络或计算机网络上,而在模拟摄像机系统中则需要另外再增加一个计算机(通常是编码器或者DVR),因此,在某些情况下,使用IP网络能很大程度上减 ...…

查看全部问答>

VC中的三种CString转数值的方法在eVC中全部失效

void CStyCString2ValueDlg::OnButton1() {         char *s=\"123\", *stops;         int i;         //这三种方法无论在VC还是eVC均正常         i=strtol( ...…

查看全部问答>

AXD调试器的教程

有谁用ADS1.2的吗?谁有AXD的教程,推荐下,谢谢…

查看全部问答>

最近很郁闷……

我是一个比较最求效率的人,最近帮一个朋友做了一个高速放大电路,让我很郁闷!板子弄好了,但是测试时却出现了非常诡异的事情,由于缺乏测试工具(示波器)使得我的工作停滞了很多天,再加上朋友的催,让我很不安心!考试快来了,时间不多了,但是 ...…

查看全部问答>

享受32位的乐趣---EJ-STM32体验板,请各路大侠拍砖!

人人都能有机会享受32位的乐趣了!   重庆优易特电子公司最新推出的EJ-STM32,是一款基于意法半导体(ST)STM32系列高性能32位处理器(Cortex-M3内核)的DEMO板。该板采用底板与核心板组合的工作方式,只需通过换插不同的CPU核心 ...…

查看全部问答>

24系列的DSP指令中,RPT指令的问题.

RPT # N指令可以使其后面的指令执行很多次,但那些指令可以和RPT指令配合产生N次有效的操作呢?…

查看全部问答>

用锂电池,430的vcc脚还需要接电容来滤波吗?

看到很多原理图上,430单片机电源脚接104电容来滤波。但是,如果采用3.6伏锂电电池供电,那么电源引脚还用得着接电容来滤波吗?…

查看全部问答>

用于 LED 照明应用的恒流非隔离式电源

$(\'swf_K8k\').innerHTML=AC_FL_RunContent(\'width\', \'550\', \'height\', \'400\', \'allowNetworking\', \'internal\', \'allowScriptAccess\', \'never\', \'src\', encodeURI(\'http://player.youku.com/player.php/sid/XMjcyNjgxNDUy/v.sw ...…

查看全部问答>

外型更加犀利 ABT发布了奥迪Q3改装套件

日前,德国改装公司Abt Sportsline发布了奥迪Q3改装套件。 外观套件包括前格栅,前扰流板,车门饰条,集成了排气系统的后保险杠和尾翼。 动力方面,Abt将提供汽油发动机不同程度的升级,针对2.0 TSI发动机,经过提升后从原来的21 ...…

查看全部问答>