系列文章目录
例如:第一章、使用MCAL配置GPT
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
主要涉及配置模块有Mcu、Platform、Gpt,下面对每一个模块配置内容逐一详解。
提示:以下是本篇文章正文内容,下面案例可供参考
一、pandas是什么?
1、MCU中配置外设时钟并使能外设
Pit、Stm、Rtc、Emios均可用于生成Gpt通道,下面一Pit为例,讲解如何配置时钟并使能外设。
S32K3用户参考手册中指出Pit定时器通道时钟源来自AIPS_SLOW_CLK,RTI通道来自于SIRC_CLK,AIPS_SLOW_CLK时钟来源于MC_CGM_MUX0具体见下图所示:
基于上述时钟树可在Eb的Mcu中找到对应模块进行配置,Mcu的Mcal中按照下图顺序依次点击,可定位到AIPS_SLOW_CLK的时钟发生出,图中有具体配置,图第一项对应了CGM0 Clock Mux0 Source 的时钟源选择,这里可以选择PLL/FIRC作为时钟源,这里我们选择PLL作为时钟源,PLL_CLK= 160M,经过(3+1)分频后生成为40M的AIPS_SLOW_CLK。到这里关于外设时钟的配置就算完成了。
2、Platform配置
EB中Platform的主要是用来配置外设中断和中断优先级的,如果想要使用对应模块的通知(Notification)功能,就需要将这里打开。具体配置方式和模块路径见下图:
另外,需要注意的是,Platform除了需要开启中断和配置中断优先级外,还需要对中断句柄重新取名,否则中断会直接进入void undefined_handler(void)中。函数具体名需要在静态代码中查找,PIT模块相关别名位置如下图:
3、Gpt模块配置
该模块配置时,首先要注意到变体的配置,该配置方式决定了代码初始化Gpt模块是使用对应的Gpt结构体(VariantPostBuild)还是NULL空指针(VariantPreCompile)
第一步配置首页中功能函数的选用,只有勾选了对应功能才能在函数中使用对应的API函数,这里要注意只有勾选了GptEnableDisableNotificationApi才允许使用Gpt通知函数。没有特殊需求的话,保持默认配置。
第二部配置PIT硬件单元。Gpt通道依赖于实际的硬件单元产生,MCAL中将硬件单元和实际的定时通道拆分开配置,这样有利于软件和硬件的分离。
新增PIT_2物理单元,并在该单元内部配置想要使用的通道
硬件单元和实际的通道配置完成后,需要在上述配置将对应的通道和中断进行使能。
配置完成后,就可以进行Gpt通道配置了,具体配置项和功能如下图:
代码中API调用流程,AUTOSAR MCAL规范中给出了连续计时模式下GPT驱动模块API,具体调用过程如下图:
总结
例如:以上就是今天要讲的内容,本文仅仅简单介绍了GPT的使用,而GPT提供了大量能使我们快速便捷地处理数据的函数和方法。