NXP S32K1 Timer之LPIT模块Driver分析
概述
本文分析LPIT驱动,以便更好的使用LPIT。
每个LPIT定时器通道可配置为在4种模式之一下运行:
32-bit Periodic Counter:计数器将加载,然后递减至零。然后,它将设置定时器中断标志并断言输出预触发器。
Dual 16-bit Periodic Counter:计数器将加载,然后较低的16位将递减至零,这将断言输出预触发。然后,高16位将递减至零,这将使输出预触发失效,并设置定时器中断标志。
32-bit Trigger Accumulator:计数器将在第一个触发器上升沿加载,然后在每个上升沿上递减至零。然后,它将设置定时器中断标志并断言输出预触发器。
32-bit Trigger Input Capture:计数器将加载0xFFFF_FFFF,然后递减至零。如果检测到触发器上升沿,它将在TVAL中存储CVAL的倒数,设置定时器中断标志并断言输出预触发器。
在这些模式中,定时器通道操作由触发控制位(TSOT、TSOI、TROT)进一步控制,触发控制位控制定时器通道的加载、重新加载、启动和重启。
上层用户如何使用S32SDK中LPIT
/* Initialize LPIT instance 0* - Reset and enable peripheral*/
LPIT_DRV_Init(INST_LPIT1, &lpit1_InitConfig);
/* Initialize LPIT channel 0 and configure it as a periodic counter* which is used to generate an interrupt every second.*/
LPIT_DRV_InitChannel(INST_LPIT1, LPIT_CHANNEL, &lpit1_ChnConfig0);/* Install LPIT_ISR as LPIT interrupt handler */
INT_SYS_InstallHandler(LPIT_Channel_IRQn, &LPIT_ISR, (isr_t *)0);/* Start LPIT0 channel 0 counter */
LPIT_DRV_StartTimerChannels(INST_LPIT1, (1 << LPIT_CHANNEL));/*!* @brief: LPIT interrupt handler.* When an interrupt occurs clear channel flag and toggle LED0*/
void LPIT_ISR(void)
{/* Clear LPIT channel flag */LPIT_DRV_ClearInterruptFlagTimerChannels(INST_LPIT1, (1 << LPIT_CHANNEL));/* do things */
}
首先通过配置工具产生配置结构体,然后调用LPIT_DRV_Init对模块进行初始化,接着LPIT_DRV_InitChannel进行通道配置,安装中断处理函数,最后启动该通道。
结语
/* Channel 0 configuration structure */
lpit_user_channel_config_t chnlconfig =
{.timerMode = LPIT_PERIODIC_COUNTER,.periodUnits = LPIT_PERIOD_UNITS_MICROSECONDS,.period = 1000000U,.triggerSource = LPIT_TRIGGER_SOURCE_INTERNAL,.triggerSelect = 1U,.enableReloadOnTrigger = false,.enableStopOnInterrupt = false,.enableStartOnTrigger = false,.chainChannel = false,.isInterruptEnabled = true
};
S32SDK相较于其它MCU固件库优秀的一个地方便是将这些配置信息,通过图形化的工具进行配置,并生成结构体代码,然后在初始化中进行调用,并将一些值保存至模块运行信息state中。
了解更多,请访问S32K1专栏 https://blog.csdn.net/kinetis_linux/category_11543275.html。
NXP S32K1 Timer之LPIT模块Driver分析相关推荐
- 【使用C++开发MCU】05-CAN实例之NXP S32K1 FlexCAN模块
文章目录 概述 FlexCAN模块框图 协议引擎Protocol Engine (PE) 控制器主机接口Controller Host Interface (CHI) 总线接口单元Bus Interf ...
- NXP S32K1 DMA模块
目录 概述 DMAMUX 操作模式 功能描述 含周期触发 不含收起触发 Always-enabled DMA sources 寄存器 DMA请求源 DMAMUX操作 eDMA 模块架构 eDMA en ...
- NXP S32K1 时钟系统
概述 本文通过剖析NXP S32K1 时钟分布.SCG.PCC等,加深对MCU时钟系统的了解,避免今后开发在小细节上踩坑. SCG (System Clock Generator) 模块用以产生设备的 ...
- 高通平台 input类 sensor驱动分析 : 光感/距感 stk3x1x driver分析
stk3x1x driver分析 1:注册驱动 定义 i2c_driver static struct i2c_driver stk_ps_driver = {.driver = {.name = D ...
- YOLOV4各个创新功能模块技术分析(三)
YOLOV4各个创新功能模块技术分析(三) 八.数据增强相关-Stylized-ImageNet 论文名称:ImageNet-trained cnns are biased towards textu ...
- YOLOV4各个创新功能模块技术分析(二)
YOLOV4各个创新功能模块技术分析(二) 四.数据增强相关-GridMask Data Augmentation 论文名称:GridMask Data Augmentation 论文地址:https ...
- YOLOV4各个创新功能模块技术分析(一)
YOLOV4各个创新功能模块技术分析(一) 简 介 yolov4论文:YOLOv4: Optimal Speed and Accuracy of Object Detection arxiv:http ...
- python logging模块的作用_Python 日志模块logging分析及使用-2
本文作为Python日志模块的补充,主要介绍日志回滚RotatingFileHandler和TimedRotatingFileHandler的使用,以及其所带来的问题.Logger对象的日志等级是如何 ...
- 电气simulink常用模块_16种常用模块电路分析,电气工程师的必备
电路图一大张,看似复杂,但也都是由一小块一小块的功能模块组成的.因此要根据大的功能先划分成块,再在块里面看是通过什么电路形式实现的,有些起辅助作用,有些起主要作用.下面小编给大家整理了16种常用的模块 ...
- Dependency Walker PE模块依赖性分析工具
摘要 本文主要讲解利用Dependency Walker为Qt的exe程序添加dll,以使得其可以在客户的机器上运行. Dependency Walker 程序的目录 PE模块依赖性分析 ...
最新文章
- BCH综述:稳定发展,市场趋势,新应用
- 虚拟化基础架构Windows 2008篇之8-添加启动映像
- Vue + Element UI + Spring Boot——易班优课YOOC课群在线测试自动答题解决方案(十)问题管理页面
- sys.getsizeof(), 字节之间的换算关系
- 腾讯云COS对象存储图片文件API的详细步骤过程
- CHM无法打开解决办法
- Mysql更新数据库数据sql_一条更新SQL在MySQL数据库中是如何执行的
- opencv 直方图投影
- 数据结构 3-2-2 队列的顺序存储实现
- Arcgis Engine 添加一个Symbol符号样式步骤
- [CH5E02] A Little Shop of Flowers
- 融入常识知识的生成式对话摘要
- 一文掌握 Docker 技术体系
- Bill Gates 2007年哈佛演讲(中/英文)
- QOpenGLWight与QPainter混合渲染
- flyaway mysql_mysql 常用命令
- ai如何置入_ai中更新置入图片链接的具体步骤介绍
- Oracle HFM OHS服务无法启动
- js简单实现一个json格式化功能
- vue中DPlayer视频播放器使用方法
热门文章
- 阵列卡直通模式和raid模式_Dell R730服务器通过RAID在线扩容方法详解
- 为什么提倡面向接口编程
- PDF转Word软件
- iptables如何删除一条规则
- 理解频域、时域、FFT和加窗 加深对信号的认识
- 迪普应用防火墙产品线
- linux驱动下载中心,Kvaser Linux驱动程序| Linux驱动程序和SDK开发包
- 函数计算机怎么算开根号,excel开根号公式怎么计算(详解excel开根号公式函数)...
- 【Windows】安装win10虚拟机
- 文电通:助力企业入局“无纸化办公”!