前言
这里简述EB中关于Port的配置操作,部分参数作者目前没有用到,暂不深究:
一、General
在步骤1处,保持默认
在步骤2处,是对于我们未使用的Pin脚进行统一设置,我通常保持默认。
在步骤3处,是一些通用API。下面讲解一下部分常用API的使用。
- Port Development Error Detect
在开发和测试阶段,用于检查Port模块的配置和初始化是否正确。 - Port_SetPinDirection
在初始化阶段,根据应用需求设置引脚的方向 - Port_VersionInfo
在系统初始化或诊断阶段,用于验证Port模块的版本是否符合要求。 - Port_SetPinModeDoesNotTouchGpioLevel
在需要改变引脚模式但保持当前电平不变的情况下使用。 - Port_ResetPinMode
在需要恢复引脚默认模式的情况下使用。 - SIUL2 IP Port Development Error Detect
在开发过程中,如果对SIUL2模块的配置(如方向设置、中断使能、上拉/下拉电阻配置等)存在不正确或不恰当的操作,可能会触发错误检测机制,从而报告一个错误状态。
在步骤4处是我们配置参数䣌过程中会出现的一些错误的提醒。
在步骤5处,当我们鼠标光标指向某个模块参数时会在这里出现参数说明,虽然用处不大。
二、PortContainer
添加模块时已自动添加好了一个容器参数
继续点击进入配置
在PORT中我们主要关注如下几个参数
引脚MSCR的值=(PTX-PTA)*32+y
这里的PTX可为PTA\PTB\PTC\PTD,32是因为每个PTX都有32个引脚,y是当前设置的引脚序号。如PTD16:
MSCR=(PTD-PTA)*32+16=112;
关于引脚方向设置 ,一般来讲存在以下四种:
- PORT_PIN_IN
读取传感器数据 - PORT_PIN_OUT
控制LED或电机 - PORT_PIN_INOUT(双向通信)
需要双向通信的设备,如I2C接口 - PORT_PIN_HIGH_Z
用于需要高阻抗的场景,如总线通信。
例如,在I2C总线中,多个设备共享同一条数据(SDA)和时钟线(SCL)。当某个设备不处于活动状态时,它会将引脚设置为高阻抗状态,以避免干扰其他设备的通信。
对于引脚模式,一般习惯采用GPIO\ADC\EMIOS三种
- GPIO(General Purpose Input/Output)
使用场景:
数字输入:读取按钮、开关等的状态。
数字输出:控制LED、继电器等设备。
双向引脚:用于需要双向通信的设备,如I2C接口。 - EMIOS_0_EMIOS_0_CH_17_Y_OUT
使用场景:
定时器/计数器:用于生成定时信号或计数信号。
PWM输出:用于控制电机速度、LED亮度等。 - LPSPI0_PCS5_OUT
使用场景:
SPI通信:用于与SPI设备进行通信,如SPI闪存、SPI传感器等。
片选信号:用于选择特定的SPI设备进行通信。 - TRGMUX_TRGMUX_OUT3_OUT
使用场景:
触发信号:用于生成触发信号,控制其他模块的运行。
信号路由:用于将信号路由到不同的模块。 - ADC0_ADC0_SE8_IN
使用场景:
模拟输入:用于读取模拟信号,如传感器数据。
ADC转换:用于将模拟信号转换为数字信号。
总结
如果想要设计一个点灯的,PORT模块只需要配置如下参数:
- PortPin Direction
PORT_PIN_OUT - PortPin Mode
GPIO - PortPin Mscr
引脚MSCR值