基于MCAL中API的关键字总结

这篇博客总结了嵌入式系统中DIO、ADC和PWM模块的关键API,包括初始化、读写操作及电源管理等。DIO涉及通道和端口的读写,ADC涵盖转换结果的获取和状态检查,PWM则关注占空比设置和电源状态控制。这些API对于硬件测试和驱动开发至关重要。
摘要由CSDN通过智能技术生成

   因为要做MCAL的测试方面的东西,所以要从Driver层下手,因此对自己将要用到的API做了一个总结,后续还会去更新一下工程方面的东西。主要做的事下面的这几个模块:

 因为是测试,所以只是总结了set,get以及初始话方面的关键字。

DIO:Dio_GetVersionInfo:获取版本信息,指向存储此模块版本信息的位置。

void Dio_GetVersionInfo(

Std_VersionInfoType* VersionInfo

)

Dio_ReadChannel :返回指定的DIO通道的值

Dio_LevelType Dio_ReadChannel(

Dio_ChannelType ChannelId

)

Dio_WriteChannel:通过服务来设置一个通道的级别。 

void Dio_WriteChannel(

Dio_ChannelType ChannelId,

Dio_LevelType Level

)

Dio_ReadPort :返回该端口的所有通道的级别。

Dio_PortLevelType Dio_ReadPort(

Dio_PortType PortId

)

Dio_WritePort :使用服务来设置端口的值。

void Dio_WritePort(

Dio_PortType PortId,

Dio_PortLevelType Level

)

Dio_ReadChannelGroup :此服务读取一个端口的相邻位的一个子集。

Dio_PortLevelType Dio_ReadChannelGroup(

const Dio_ChannelGroupType* ChannelGroupIdPtr

)

Dio_WriteChannelGroup :将端口的相邻位的子集设置为指定级别的服务。

void Dio_WriteChannelGroup(

const Dio_ChannelGroupType* ChannelGroupIdPtr,

Dio_PortLevelType Level

)

ADC:Adc_Init :初始化ADC硬件单元和驱动程序。

void Adc_Init(

const Adc_ConfigType* ConfigPtr

)

Adc_SetupResultBuffer:使用将存储转换结果的组特定结果缓冲区启动地址初始化ADC驱动程序。应用程序必须确保DataBufferPtr所指向的应用程序缓冲区能够保存指定组的所有转换结果。在重置后,需要使用Adc_SetupResultBuffer进行初始化,然后才能启动组转换。

Std_ReturnType Adc_SetupResultBuffer(

Adc_GroupType Group,

const Adc_ValueGroupType* DataBufferPtr

)

Return value: E_OK:结果缓冲区指针初始化正确E_NOT_OK:操作失败或发生开发错误描述

Adc_DeInit :将所有ADCHW单元返回到与其电源重置状态相当的状态。

Adc_ReadGroup :读取请求组最后完成的转换轮的组转换结果,并从数据bufferPtr地址开始存储通道值。组通道值按通道号递增的顺序存储(如果配置了流媒体访问,则与结果缓冲区的存储布局相反)。

Std_ReturnType Adc_ReadGroup(

Adc_GroupType Group,

Adc_ValueGroupType* DataBufferPtr

)

Adc_GetGroupStatus :返回所请求的ADC通道组的转换状态。

Adc_StatusType Adc_GetGroupStatus(

Adc_GroupType Group

)

Adc_GetStreamLastPointer:返回存储在结果缓冲区中的每个通道的有效样本数。读取一个指向组结果缓冲区中的一个位置的指针。使用指针位置,可以访问最后一次完成的转换轮的所有组通道的结果。使用指针和返回值,就可以访问所有有效的组转换结果(用户必须考虑结果缓冲区的布局)。

Adc_StreamNumSampleType Adc_GetStreamLastPointer(

Adc_GroupType Group,

Adc_ValueGroupType** PtrToSamplePtr

)

Adc_GetVersionInfo:返回此模块的版本信息。

void Adc_GetVersionInfo(

Std_VersionInfoType* versioninfo

)

Adc_SetPowerState :此API配置Adc模块,使其进入已经准备好的电源状态,在预定义配置的配置电源集之间进行选择。返回OK表示电源值已经被更改,返回NOT_OK表示请求被拒绝

Std_ReturnType Adc_SetPowerState(

Adc_PowerStateRequestResultType* Result

)

Adc_GetCurrentPowerState :此API返回ADCHW单元的当前电源的功率状态。返回OK是可以读取,返回NOT OK是功能被拒绝。

Std_ReturnType Adc_GetCurrentPowerState(

Adc_PowerStateType* CurrentPowerState,

Adc_PowerStateRequestResultType* Result

)

Adc_GetTargetPowerState :此API返回ADCHW单元的目标电源功率状态。返回值同上。

Std_ReturnType Adc_GetTargetPowerState(

Adc_PowerStateType* TargetPowerState,

Adc_PowerStateRequestResultType* Result

)

Adc_PreparePowerState :此API将启动所需的进程,以允许ADCHW模块进入所请求的电源状态。返回值同上。

Std_ReturnType Adc_PreparePowerState(

Adc_PowerStateType PowerState,

Adc_PowerStateRequestResultType* Result

)

PWM:Pwm_Init :PWM初始化服务。

void Pwm_Init(

const Pwm_ConfigType* ConfigPtr

)

Pwm_DeInit :用于PWM去初始化的服务。

Pwm_SetDutyCycle:服务设置PWM通道的占空比。

void Pwm_SetDutyCycle(

Pwm_ChannelType ChannelNumber,

uint16 DutyCycle

)

Pwm_SetPeriodAndDuty :服务设置一个PWM通道标签

void Pwm_SetPeriodAndDuty(

Pwm_ChannelType ChannelNumber,

Pwm_PeriodType Period,

uint16 DutyCycle

)

Pwm_SetOutputToIdle :会将PWM输出设置为的空闲状态。

void Pwm_SetOutputToIdle(

Pwm_ChannelType ChannelNumber

)

Pwm_GetOutputState :使用服务来读取PWM输出信号的内部状态。PWM_HIGHPWM输出状态高PWM_LOWPWM输出状态低

Pwm_OutputStateType Pwm_GetOutputState(

Pwm_ChannelType ChannelNumber

)

Pwm_SetPowerState :此API配置Pwm模块,使其进入已经准备好的电源状态,在预定义的配置电源集之间进行选择。E_OK:电源模式改变,E_NOT_OK:请求被拒绝,如果API返回E_OK:PWM_SERVICE_ACCEPTED:Power状态更改。如果API返回E_NOT_OK:PWM_NOT_INIT:PWM模块未初始化。PWM_SEQUENCE_ERROR:错误的API调用序列。PWM_HW_FAILURE:硬件模块出现故障,无法进入所需的电源状态。

Std_ReturnType Pwm_SetPowerState(

Pwm_PowerStateRequestResultType* Result

)

Pwm_GetCurrentPowerState :此API返回PWMHW单元的当前电源状态。返回值同上。

Std_ReturnType Pwm_GetCurrentPowerState(

Pwm_PowerStateType* CurrentPowerState,

Pwm_PowerStateRequestResultType* Result

)

Pwm_GetTargetPowerState :此API返回PWMHW单元的目标功率状态。返回值同上

Std_ReturnType Pwm_GetTargetPowerState(

Pwm_PowerStateType* TargetPowerState,

Pwm_PowerStateRequestResultType* Result

)

Pwm_PreparePowerState:此API将启动所需的进程,以允许PWMHW模块进入所请求的电源状态。返回值同上。

Std_ReturnType Pwm_PreparePowerState(

Pwm_PowerStateType PowerState,

Pwm_PowerStateRequestResultType* Result

)

Pwm_GetVersionInfo :服务部门将返回此模块的版本信息。

void Pwm_GetVersionInfo(

Std_VersionInfoType* versioninfo

)

Port_Init :初始化端口驱动程序模块。

void Port_Init(

const Port_ConfigType* ConfigPtr

)

Port_SetPinDirection :设置引脚

void Port_SetPinDirection(

Port_PinType Pin,

Port_PinDirectionType Direction

)

Port_RefreshPortDirection :刷新端口

void Port_RefreshPortDirection(

void

)

Port_GetVersionInfo :返回此模块的版本信息。

void Port_GetVersionInfo(

Std_VersionInfoType* versioninfo

)

Port_SetPinMode:设置端口引脚模式。

void Port_SetPinMode(

Port_PinType Pin,

Port_PinModeType Mode

)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值