msp432记录-timer

发布者:夜色迷离最新更新时间:2020-01-03 来源: eefocus关键字:msp432  timer  API 手机看文章 扫描二维码
随时随地手机看文章

timer驱动API非常简单,就只有几个,开始计时,停止计时,获得计数值。认识初始化参数结构体即可


typdef struct {

Timer_Mode timerMode;  //模式

Timer_PeriodUnits periodUnits; //计数周期单位

Timer_CallBackFxn timerCallback; //回调函数

uint32_t period; //计数周期,联系periodUnits

}


//下面记录一下具体的数据结构参数


//模式结构体 注意,某些定时器可以被配置为向上计数和向下计数模式,通过Timer_getCount()得到计数值

typedef enum{

Timer_ONESHOT_CALLBACK, //非阻塞,只会产生一次到时中断,再次用Timer_start()可以再次生成一次定时

Timer_ONESHOT_BLOCKING, //一次阻塞型

Timer_CONTINUOUS_CALLBACK, //周期性定时

Timer_FREE_RUNNING //非阻塞,一直计数,不会产生中断,一般与Timer_getCount()配套使用

}Timer_Mode;


//计数单位

typedef enum{

Timer_PERIOD_US, //微秒级计数

Timer_PERIOD_HZ, //秒级计数

Timer_PERIOD_COUNTS //自定义

}Timer_PeriodUnits;


//中断回调函数

typedef void (*Timer_CallBackFxn)(Timer_Handle handle);


仅仅知道上面并不能完全使用定时器的驱动库,还需要去了解MSP_EXP432P401R.c与.h文件关于定时器的使用以及定时器相关头文件的地址、时钟等参数定义


/*

共有六个定时器,2个32位

TIMER32_1

TIMER32_2

TIMER_A0

TIMER_A1

TIMER_A2

TIMER_A3

*/


#include

#include


TimerMSP432_Object timerMSP432Objects[MSP_EXP432P401R_TIMERCOUNT];


const TimerMSP432_HWAttrs timerMSP432HWAttrs[MSP_EXP432P401R_TIMERCOUNT] = {

    /* Timer32_0 */

    {

        .timerBaseAddress = TIMER32_0_BASE,

        .clockSource = TIMER_A_CLOCKSOURCE_SMCLK,

        .intNum = INT_T32_INT1,

        .intPriority = ~0

    },

    {

        .timerBaseAddress = TIMER32_1_BASE,

        .clockSource = TIMER_A_CLOCKSOURCE_SMCLK,

        .intNum = INT_T32_INT2,

        .intPriority = ~0

    },

    /* Timer_A1 */

    {

        .timerBaseAddress = TIMER_A1_BASE,

        .clockSource = TIMER_A_CLOCKSOURCE_ACLK,

        .intNum = INT_TA1_0,

        .intPriority = ~0

    },

    /* Timer_A2 */

    {

        .timerBaseAddress = TIMER_A2_BASE,

        .clockSource = TIMER_A_CLOCKSOURCE_ACLK,

        .intNum = INT_TA2_0,

        .intPriority = ~0

    },

    /* Timer_A3 */

    {

        .timerBaseAddress = TIMER_A3_BASE,

        .clockSource = TIMER_A_CLOCKSOURCE_ACLK,

        .intNum = INT_TA3_0,

        .intPriority = ~0

    }

};


const Timer_Config Timer_config[MSP_EXP432P401R_TIMERCOUNT] = {

    {

        .fxnTablePtr = &TimerMSP432_Timer32_fxnTable,

        .object = &timerMSP432Objects[MSP_EXP432P401R_TIMER_T32_0],

        .hwAttrs = &timerMSP432HWAttrs[MSP_EXP432P401R_TIMER_T32_0]

    },

    {

        .fxnTablePtr = &TimerMSP432_Timer32_fxnTable,

        .object = &timerMSP432Objects[MSP_EXP432P401R_TIMER_T32_1],

        .hwAttrs = &timerMSP432HWAttrs[MSP_EXP432P401R_TIMER_T32_1]

    },

    {

        .fxnTablePtr = &TimerMSP432_Timer_A_fxnTable,

        .object = &timerMSP432Objects[MSP_EXP432P401R_TIMER_TA_1],

        .hwAttrs = &timerMSP432HWAttrs[MSP_EXP432P401R_TIMER_TA_1]

    },

    {

        .fxnTablePtr = &TimerMSP432_Timer_A_fxnTable,

        .object = &timerMSP432Objects[MSP_EXP432P401R_TIMER_TA_2],

        .hwAttrs = &timerMSP432HWAttrs[MSP_EXP432P401R_TIMER_TA_2]

    },

    {

        .fxnTablePtr = &TimerMSP432_Timer_A_fxnTable,

        .object = &timerMSP432Objects[MSP_EXP432P401R_TIMER_TA_3],

        .hwAttrs = &timerMSP432HWAttrs[MSP_EXP432P401R_TIMER_TA_3]

    }

};


const uint_least8_t Timer_count = MSP_EXP432P401R_TIMERCOUNT;

关键字:msp432  timer  API 引用地址:msp432记录-timer

上一篇:手把手教你新建MSP432工程
下一篇:MSP430时钟设置及应用总结

推荐阅读最新更新时间:2024-11-03 09:26

如何快速了解TI-RSLK机器人系统学习套件
2018年2月,TI正式推出了TI-RLSK(Robotics Systems Learning Kit机器人系统学习套件),并配套推出了一系列教学课程。 不久前,TI在其中国大学教育者年会上又正式推出了TI-RSLK中国版。TI-RSLK中国版和TI-RSLK采用了兼容的设计,二者拥有相同的硬件模块设置,不过TI-RSLK中国版对部分硬件电路进行了优化,主要包括: 采用铝合金底盘及性能更好的轮胎 采用性能更好的N20直流减速电机 重新设计了电机驱动板和电源板的PCB以与底盘匹配 由于是专为中国定制, 所以同样享受中国市场的特殊福利,售价比国际版要低四分之一。 TI-RSLK中国版配置 同时,
[嵌入式]
如何快速了解TI-RSLK机器人系统学习套件
基于UG的接口技术研究
      随着市场竞争愈来愈激烈,在现代制造业中,缩短产品设计开发周期,实现快速设计显得越来越重要。UG (Unigraphics)软件是大型CAD/CAM/cAE集成软件之一,功能强大,具有开放的UG/Open二次开发工具。作者在Visual C++6.0的集成开发环境下,通过直接在MFC应用向导程序中加人UG的入口函数的方法,解决了利用MenuScript菜单或uI—Styler的回调函数无法直接调用MFC函数的问题。给出UG/Open API与高级用户接口语言MFC (MicrosoftFoundament Class)编程相结合进行开发的接口实现方案,采用MFC来设计对话框界面的编程技术,为开发Windows应用程序提供
[嵌入式]
s3c2410的timer定时器的使用
2410共有5个定时器,其中timer4没有引脚输出,其余都可以用作pwm。 0、1共用一个预分频器 2、3、4共用一个预分频器 TCFG0 分别对应这两个预分频器,分频值不要忘了+1,因为分频值不能为0 TCFG1 分别对应这每个定时器自己的分频值 TCNTB0 定时器的计数值 TCMPB0 定时器的比较值 我理解的PWM,在一个固定的时间周期中,也就是TCNTB0这个值,一个周期开始后,TCNTB0开始减1计数,当减到和TCMPB0 相等时,TOUT0输出反转,当TCNTB0减到0时,TOUT0输出再次反转,一个新的计数周期开始。 TCNTO0 定时器监听寄存器 TCON0 控制寄存器
[单片机]
扩展基于API自动化功能,UiPath收购Cloud Elements
机器人流程自动化(RPA)企业软件公司UiPath日前宣布已收购拥有开创性API集成平台的Cloud Elements公司。通过此次收购,UiPath继续在自动化市场引领创新,这被认为是首家在单一平台上提供基于企业级用户界面(UI)及API自动化功能的供应商。这意味着UiPath客户可以灵活使用基于UI及API的最佳自动化组合来实现流程自动化。 UiPath联合创始人兼首席执行官Daniel Dines表示,“通过更轻松、更快捷地部署自动化,UiPath平台有能力显著改善现代企业中某些非常昂贵和耗时的活动。收购Cloud Elements只是一个例证,说明我们正在打造一个灵活、可扩展的企业级平台,以帮助客户成为全面自动化企业。
[物联网]
STM32启动模式的选择
简介:本文介绍了STM32的3种启动模式的工作以及模式的选择。 STM32三种启动模式中存储器的存储介质 STM32三种启动模式对应的存储介质均是芯片内置的,它们是: 1)用户闪存 = 芯片内置的Flash。 2)SRAM = 芯片内置的RAM区,就是内存啦。 3)系统存储器 = 芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段Bootloader,就是通常说的ISP程序。这个区域的内容在芯片出厂后没有人能够修改或擦除,即它是一个ROM区。 在每个STM32的芯片上都有两个管脚BOOT0和BOOT1,这两个管脚在芯片复位时的电平状态决定了芯片复位后从哪个区域开始执行程序,见下表: BOOT1=x
[单片机]
PIC16F72 Timer1 使用
PIC16F72 定时器1使用,程序执行结果,LED一闪一闪。 使用到的寄存器具体请看datasheet #include pic.h __CONFIG(11111110111001);//bit13-bit7=1;bit6 欠压使能(1 enable);bit5=1;bit4 代码保护(0保护); //bit3 上电延时(0 enable);bit2 看门狗(1 enable);bit1-bit0 时钟选择 (11 RC 10 HS 01 XT OO LP) #define uchar unsigned char #define uint unsigned int void Init(void); //初始化子
[单片机]
PIC16F72 <font color='red'>Timer</font>1 使用
第16章 STM32F429必备的HAL库API
16.1 初学者重要提示 对于一些常用的函数,大家一定要熟练的掌握都实现了什么功能,比如HAL_Init,HAL_RCC_OscConfig,HAL_RCC_ClockConfig等。最好的办法是把这些函数的源码读一遍。 16.2 那些是必备的API 这里我们通过一个简单的初始化流程来了解STM32F4的工程模板所必备的库文件和API: 第1步:系统上电复位,进入启动文件startup_stm32f429xx.s,在这个文件里面执行复位中断服务程序。 在复位中断服务程序里面执行函数SystemInit,此函数在文件system_stm32f4xx.c里面。 之后是调用编译器封装好的函数,比如用于MDK的启动文件是调
[单片机]
第16章 STM32F429必备的HAL库<font color='red'>API</font>
新思科技解析如何降低并购时API和Web服务风险
在技术并购中,对软件本身的尽职调查必须考虑其体系结构和代码。体系结构提供了基础,定义了如何汇编和构造代码;深入研究代码,可能会发现技术缺陷,包括错误、安全漏洞、许可问题以及其它需要修改代码的问题。 如今,相比编写代码,开发人员更可能为他们的应用程序组装代码。当然,他们仍会编写关键的业务的代码。但是,代码库中包含多达90%的开源或第三方组件,开发人员可将代码重用于常见功能,节约时间。有一种可重用的组件类型是基于API的Web服务,其中许多可免费用于开发基本功能。但是,使用基于API的Web服务可能会产生版权、最终用户许可、使用条款以及数据和隐私政策等相关问题。 开发人员经常在互联网上找到适用于其应用程序的有用API。但
[网络通信]
新思科技解析如何降低并购时<font color='red'>API</font>和Web服务风险
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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