关于tresos Studio(EB)的MCAL配置之PORT

General

Port Development Error Detect开发者错误检测是PORT_DEV_ERROR_DETECT宏定义的开关,一般打开就行。

Port SetPinDirection Api控制接口Port_SetPinDirection是否启用,一般打开就行。

Port SetPinMode Api控制接口Port_SetPinMode是否启用,一般打开就行。

Port VersionInfo Api控制PORT_VERSION_INFO_API宏定义的开关,决定Port_GetVersionInfo接口是否启用,一般打开就行。

Config Variant编译前后变量配置。如果是VariantPreCompile使用文件Port_Cfg.h和Port_Cfg.c,如果是VariantPostBuild,使用文件Port_Cfg.h和Port_PBcfg.c.

PortConfigSet

只需要有一个容器,名字随便取。生成的代码会按照名字Port_ConfigType类型的结构体,放在一个Port_ConfigSet结构体数组里面。

General

这里只需要写入使用到所有引脚的总数。

PortContainer

可以在里面进行分组,一般根据功能进行划分,右边是每组的引脚数量。

进来之后就是PortPin,每一个就是Port下面的一个Pin,每一组里面的Pin不需要都在同一个Port下面。

PortPin WeakPullDown弱下拉

PortPin WeakPullUp弱上拉

PortPin Safe Mode安全模式

PortPin Read Back Enable回读

PortPin HysteresisControl输入迟滞

PortPin Invert引脚反转

PortPin Direction Changeable运行时可以改变方向

PortPin ModeChangeable引脚模式是否可改变

PortPin Id是自己排序的,需要注意的是,这个id是在PortContainer里面的序号,而不是单独一个组里面的序号。举个例子:第一个组里面的pin有5个,占用PortPin Id 0~4,这样的话第二组的PortPin Id就需要从5开始,不能从0重新开始排序。

PortPin Nr是选择你使用的是哪个引脚,按照如下公式进行计算:
Channel = DioChannelId + DioPortId * 32
DioPortId是DIO端口的数字标识符,将为用于配置的引脚的每个端口引脚id生成符号名称。
PortA=0
PortB=1
PortC=2
PortD=3
PortE=4
DioChannelId是通过选择的值来选择端口中所选的通道DioPortId。
1个端口的最大通道数为32,所以DioChannelId的取值范围为:0 ~ 31。

例如:通道GPIO[35]可以在xls文件中找到,它连接到引脚PTB3。为了在Dio驱动中使用GPIO[35],对应的通道是DioChannelId = 3和DioPortId = 1(端口B通道3)。

PortPin Direction运行时可以改变引脚方向

PortPin InputLevelSelection输入引脚才需要选择,是TTL还是CMOS

PortPin OutputDriveControl输出引脚才需要选择,开漏,推挽之类的。

PortPin OutputEdgeRateControl输出引脚驱动的力度强中弱

PortPin Initial Mode默认模式

PortPin Level Value默认电平

PortPinMode如果不是复用功能,里面只需要新建一个,如果复用就新建多个。选择需要使用的功能即可。

ModuleOutputToInput

输出到输入模块,相当于从内部链接,一般用不上。

接口

Port_PinType类型的PinIndex入参都是生成的PortPin Id

Port_Init初始化的时候需要调用,入参是Port_ConfigType类型的结构体指针。

Port_SetPinDirection改变引脚方向

Port_RefreshPortDirection初始化完成之后,刷新所有已配置引脚的方向,程序将不刷新那些被配置为"运行时可改变引脚方向"的端口引脚。

Port_SetPinMode运行时改变引脚模式

Port_AddPinMode增加引脚模式

Port_GetVersionInfo获取版本信息,需要传入一个Port_GetVersionInfo类型的结构体指针。

Port_SetPinMode设置引脚模式

Port_ResetPinModes重置引脚模式

Port_SetPinMSCRValue改变MSCRIO寄存器值

代码小记

Port_UnusedPinsArray是没有使用到的pin,填入固定的PortPin Nr。

Port_UnusedLowPowerPinsArray使用低功耗的pin

Port_LLD_PinConfigDefault包含所有已配置的pin的信息

Port_Modes_Pinx里面的x对应PortPin Nr,可以在里面选择对应的模式

相关推荐
小柯博客2 小时前
从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(十二)
c语言·stm32·单片机·嵌入式硬件·php·嵌入式
SY师弟5 小时前
51单片机基础部分——独立按键检测
单片机·嵌入式硬件·51单片机
Mapleay5 小时前
FMC STM32H7 SDRAM
stm32·单片机·嵌入式硬件
自小吃多6 小时前
STC8H系列 驱动步进电机
笔记·单片机
易知嵌入式小菜鸡6 小时前
STM32CubeMX-H7-19-ESP8266通信(中)--单片机控制ESP8266实现TCP地址通信
stm32·单片机·嵌入式硬件
乄夜6 小时前
嵌入式面试高频(5)!!!C++语言(嵌入式八股文,嵌入式面经)
c语言·c++·单片机·嵌入式硬件·物联网·面试·职场和发展
c7_ln8 小时前
STM32 低功耗设计全攻略:PWR 模块原理 + 睡眠 / 停止 / 待机模式实战(串口 + 红外 + RTC 应用全解析)
stm32·单片机·实时音视频·江协科技
待什么青丝9 小时前
【TMS570LC4357】之相关驱动开发学习记录2
c语言·arm开发·驱动开发·单片机·学习
小柯博客9 小时前
从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
c语言·stm32·单片机·嵌入式硬件·物联网
云山工作室10 小时前
一种停车场自动停车导航器的设计(论文+源码)
单片机·嵌入式硬件·毕业设计·毕设