本文及后续文章用于记录基于NXPS32K344芯片的学习,RTD为S32k344_M7 v 3.0.0

1、对于新的芯片的学习,第一步就是点亮一颗LED灯,配置相应的初始化

1、新建工程界面如下图

2、配置好原理图所对应的引脚接口,可于Pins中查看S32k344中每个引脚对应的复用功能

本文选用PTG11与PTG12作为LED1与LED2

SIUL2为此种芯片专用接口外设:具体模块图可参考NXP-S32K3xx芯片手册

                ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        

选择gpio,203

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        

output

需在标识符处配置LED1标签,后用于在驱动文件中生成对应的Port与Pin

外设IO中对应的安全模式、上下拉、保持使能、输出缓冲使能、输入缓冲使能、初始电平、触摸感应、输入滤波、电压变化速率可根据具体需要配置,PTG12的配置同理

3、配置输出引脚所对应的外设驱动模块

Siul2_Port模块中Name、ConfigTimeSupport、PortGeneral都按默认配置

对于ConfigTimeSupport:

对于PortConfigSet:

PortContainer设置一组就行

PortPin设置为两个引脚

用于读取引脚的实际电平,类似例子如IIC中线与特性:当另一个设备驱动为低电平时,MCU输出高电平,但实际电平也为低电平,此时便需要开启ReadBack回读功能

MCU进入待机模式时该引脚的输出电平会被锁存。无论待机模式持续多久,引脚都会维持这个状态,直到MCU被唤醒并完全恢复正常运行

PortPin Id:定义一个PortContainer中的PortPin的名称,也为这个Pin的配置分配了空间

PortPin Mscr:与在Pins中查看的对应引脚编号相同,是对映到寄存器的引脚编号

        ​​​​​​​       

路由信号为gpio,203

此处配置路由信号之后则会自动加载Pins中已配置的内容

        ​​​​​​​        ​​​​​​​        ​​​​​​​       

更新源代码,在RTD\inlcude中会自动创建驱动函数

board中也会对引脚接口进行相应的配置

2、调用驱动文件中的函数配置引脚电平

1、时钟初始化:Clock_Ip.h中Clock_Ip_InitClock()

2、引脚端口初始化:Siul2_Port_Ip.h中Siul2_Port_Ip_Init()

3、引脚电平设置:Siul2_Dio_Ip.h中Siul2_Dio_Ip_WritePin()写入高电平即可

4、在Siul2_Port_Ip_Cfg.h中

        ​​​​​​​        ​​​​​​​        

LED1为PTG11,对于PORT的定义为PTG_L_HALF定义是指:在s32k3系列中一个端口一共32位Pins,对于低16位的则规定为PTG_L_HALF,这里PTG11与PTG12中的Pin都低于16,那对应的PORT就为PTG_L_HALF

3、编译和下载

小锤子形的Bulid (ALL)即可进行编译

类似与甲壳虫的则为下载,可设置Flash Segger和RAM Segger

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐