Autosar MCAL配置:S32K344的LPUART和Emios之ICU功能配置实战
2024.01.18 10:31浏览量:33简介:本文将介绍如何通过Autosar MCAL配置S32K344的LPUART和Emios的ICU功能。我们将从硬件电路介绍开始,逐步介绍如何通过Vector Davinci Configurator的Basic Editor配置MCAL2,包括Port引脚配置、DIO引脚配置、MCU中的时钟配置、MCL微控制器库模块配置、Emios Commons配置、ICU模块配置、OS的中断向量配置和LPUart配置等步骤。最后,我们将通过一个实战案例,展示如何配置S32K344的LPUART和Emios的ICU功能。
在开始之前,我们需要先了解S32K344的硬件电路。S32K344是一款基于ARM Cortex-M核的微控制器,具有丰富的外设接口,如LPUART等。Emios是S32K344的一个功能强大的中间件,提供了许多实用的功能,如ICU(Interrupt Control Unit)等。
在配置S32K344的LPUART和Emios的ICU功能之前,我们需要先导入官方例程,并选择带Autosar封装的版本。然后,我们需要配置所需的引脚,如PTB12。PTB12对应的是Emios0 Ch0,Mscr值是44(鼠标点在PTB12上,可显示属性,里面就有Mscr值),需要记住,后面配置Port时需要使用。
接下来,我们需要打开Port组件,并配置PTB12引脚。然后,我们需要使能EMIOS功能(此步骤和前面写的配置PWM是一致的)。
在使能ICU对应的函数之前,我们需要先配置EMIOS的Global Counter bus A和Global Counter bus B。一共三组EMIOS,每组配置对应的ch22和ch23。ch23对应的默认周期配置为65535,ch22对应的是32768。(此步骤和前面写的配置PWM是一致的)。
然后,我们需要使能ICU对应的函数。比如捕获到PWM时,需要计算高电平个数,这时候需要打开IcuEdgeCountAPI。同时,我们还需要配置ICU模块里的EMIOS实例。注意图片里面的第6步,如调试时需要计数停止,除了在这个地方使能外,上面MCL的Emios配置里,Enable Emios freez state也需要打勾使能。
接下来,我们需要配置IcuChannel。不是所有的通道都支持计数模式。这点需要注意,X和G类型的才可以支持计数。可仔细阅读数据手册。
最后,我们需要配置中断。使能EMIOS0CH0对应中断。然后就可以进行代码部分的编写了(配置了多个ICU通道)。初始化函数这些不做说明。
以上就是通过Autosar MCAL配置S32K344的LPUART和Emios的ICU功能的方法和步骤。通过这样的方法,我们可以更加高效地使用S32K344的硬件资源,实现更加丰富的功能。同时,也需要注意每个步骤的具体细节和要求,确保配置正确无误。在实际应用中,还需要根据具体的需求和场景进行适当的调整和优化。

发表评论
登录后可评论,请前往 登录 或 注册