NO.15 MSP432定时器使用实例——流水灯

发布时间:2022-12-20  

  上一篇文章我们讲了定时器Timer的基本概念和如何调用定时器。这次我们来尝试在MSP432中使用定时器完成流水灯这个小实验。


  流水灯是我们从真正意义上进行对单片机进行时间控制。


  这个实验主要是控制我们开发板上的LED进行1s亮,1s灭,循环进行。


  首先,我们打开CCS中ResourceExplorer的TiDrivers下的案例——timerled。

  我们将其导入到我们的工作区中,我们再打开timerled.syscfg这个文件,查看本工程的相关配置。

  

  我们要增加其他Timer也非常简单,只要点击ADD这个按钮就可以配置相关内容。


  我们其次打开timerled.c这个主文件,里面存放着我们的核心程序。


  我们要使用定时器,首先要引入这个头文件


#include

  像往常一样,我们要定义一个定时器的句柄Handle和一个参数Params。


Timer_Handle timer0;

Timer_Params params;

  同时,我们要确定我们定时器到了时间之后该做些什么,就是所谓的回调函数。我们先建立这个函数。


/* Callback used for toggling the LED. */

void timerCallback(Timer_Handle myHandle);


/*

 * This callback is called every 1,000,000 microseconds, or 1 second. Because

 * the LED is toggled each time this function is called, the LED will blink at

 * a rate of once every 2 seconds.

 * */

void timerCallback(Timer_Handle myHandle)

{

    GPIO_toggle(CONFIG_GPIO_LED_0);

}


  然后我们在主程序内要调用初始化定时器这个函数。


/* Call driver init functions */

GPIO_init();

Timer_init();

  随后我们就可以具体设定定时器的参数了


Timer_Params_init(&params);

params.period = 1000000;

params.periodUnits = Timer_PERIOD_US;

params.timerMode = Timer_CONTINUOUS_CALLBACK;

params.timerCallback = timerCallback;


  在这里,我们的设置是定时器的时间周期是1000000us=1000ms=1s,我们定时是连续工作的,是CONTINUOUS进行计时的,同时,我们到时间后会调用timerCallback()这个回调函数。


  最后一步就是开启定时器了,我们最后一行代码。


timer0 = Timer_open(CONFIG_TIMER_0, &params);

 

  好的,我们来看下我们程序的运行情况。

 

文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    单片机定时器中断原理及s3c2440的定时器使用方法;在程序中,需要延时的时候,通常状况下有两种方法:1、循环语句实现,这种方法简单易用,但是无法得到一个精确的延时时间;2、定时器定时,可达......
    ; unsigned char cnt=0; while(1) {  /*   定时器使用方法  1.设置特殊功能寄存器TMOD,配置好工作模式。 2.设置计数寄存器TH0和TL0的初值。 3.设置......
    :伪代码: //c TR0=1;//assembly SETB  TR0 ;turn on          CLR  TR0 ;turn off ! 使用实例: 定时器使用方式(中断......
    ();    //0.25sLED翻转一次,1s翻转四次   } } ```至此,基本定时器的功能就结束了,对于通用定时器和高级定时器的定时功能与基本定时器使用方法一样,这里就不再赘述。 ......
    =3CBOH,修正以后,取IC=3CB4H,有关程序段具体设计如下。 由上述程序可知,作为16位定时器使用时,T0不能自动装入初值,每次进入中断服务程序后,首先必须用程序装入初值,下一次定时......
    51系列单片机定时器的实用方法;定时/计数器 0 和定时/计数器1都有4种定时模式。 16位定时器对内部机器周期进行技术,机器周期加1,定时器值加1,1MHZ模式下,一个机器周期为1us 。 定时器......
    【MCS-51】内部定时和计数器;51单片机是一款广泛应用于嵌入式系统开发的微处理器,内部集成了多个定时器和计数器模块,可以方便地进行时间相关的操作。本文将介绍51单片机内部定时和计数器的基本原理和使用方法......
    控制寄存器TCON四部分组成。该逻辑框图如下所示。 红线 TMOD(工作方式寄存器):从该命名就可也知道,该寄存器控制的是选择哪一个定时器,T0或者T1。用什么方式,作为定时器使用,还是作为计数器使用......
    STM32G0开发笔记:定时器timer的基本使用方法;使用Platformio平台的libopencm3开发框架来开发STM32G0,以下为定时器timer的基本使用方法。 1 新建项目 在......
    就用pwm控制吧,先学习下如何使用msp432的pwm。     生成pwm有俩种方法:用定时器A模拟出pwm信号,另一种是定时器A生成一个pwm信号     在timer_a文件中 void......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>