【S32DS系列】S32K311的PIT定时器模块/IntCtrl_Ip中断管理组件---学习记录

一、PIT模块驱动

使用官方S32DS自动生成PIT定时器模块驱动

1、添加PIT组件

2、配置PIT组件

【1】相关配置使用新建组件时的默认配置;

【2】选择定时器PIT0;

【3】选用定时器PIT0的CH0;

【4】自定义的中断函数,后续将被中断管理组件IntCtrl_Ip统一进行回调触发;

【5】PIT_IP_CH_MODE_CONTINUOUS:定时器超时后重新开始新一轮的定时器计时;

【6】开启指定使用的定时器:PIT0的timer0;

3、添加IntCtrl_Ip组件

涉及到中断回调函数,需要用到IntCtrl_Ip组件;

4、配置IntCtrl_Ip组件

【1】相关配置使用新建组件时的默认配置;

【2】中断向量号;

【3】使能中断;

【4】设置中断优先级;

【5】需要同官方RTD的ISR(___)内容相同,故上图的中断回调函数填入PIT_0_ISR

后续PIT_0_ISR中会调用 配置PIT组件 时的自定义回调函数PIT0_IRQn_ISR;

二、API函数接口

1、初始化PIT模块

/* Init PIT */
Pit_Ip_Init(instance, &PIT_0_InitConfig_PB);

2、初始化CH_x channel

/* Initialize the corresponding channel */
Pit_Ip_InitChannel(instance, &PIT_0_ChannelConfig_PB[0]);

3、设置定时器计时数值,开启定时器

/* Turn on timer PIT0 */
Pit_Ip_StartChannel(instance, channel, countValue);

4、开启中断,设置中断回调函数及中断优先级

/* Enable the interruption of the corresponding channel */
Pit_Ip_EnableChannelInterrupt(instance, channel);

/* Init NVIC */
IntCtrl_Ip_InstallHandler(PIT0_IRQn, PIT_0_ISR , NULL_PTR);
IntCtrl_Ip_EnableIrq(PIT0_IRQn);

5、自定义中断回调函数

/**
 * @name	PIT0_IRQn_ISR
 * @param	void
 * @retval	void
 * @brief	PIT0 CallBack Handler
 *
 */
void PIT0_IRQn_ISR(void)
{

}

三、函数调用

待定,,,,,,

  • 16
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值