AUTOSAR实验十三 SWC C/S Port读取ADC

1.硬件连接

2.SWC配置

2.1在CFG中配置Port Interface和Port Protypes

2.2创建SWC 创建port Prototype client

2.3 在sheet中创建 component,port间建立连接

2.4 配置trigger和access point

3.代码部分

-----------------------------------------------------------

1.硬件连接

AUTOSAR实验十三 SWC C/S Port读取ADC_第1张图片

2.SWC配置

-----------------------------------------------------------

2.1在CFG中配置Port Interface和Port Protypes

AUTOSAR实验十三 SWC C/S Port读取ADC_第2张图片

************************************************************************

AUTOSAR实验十三 SWC C/S Port读取ADC_第3张图片

2.2创建SWC 创建port Prototype client

AUTOSAR实验十三 SWC C/S Port读取ADC_第4张图片

2.3 在sheet中创建 component,port间建立连接

AUTOSAR实验十三 SWC C/S Port读取ADC_第5张图片

2.4 配置trigger和access point

配置trigger定时触发

配置access point

AUTOSAR实验十三 SWC C/S Port读取ADC_第6张图片

3.代码部分

-----------------------------------------------------------

代码部分涉及到了CtApSwcLightLed.c和IoHwAb.c两个文件,点灯程序部分看前一篇。重点内容是怎么把IoHwAb中的值传递到CtApSwcLightLed.c中。

CtApSwcLightLed.c代码如下:

 

FUNC(void, CtApSwcLightLed_CODE) RCtApSwc_LightLED(Rte_Instance self){

uint16 Adc_Getdata;

Rte_Call_PpIoHwAb_Read_ADC_ADC0_SE12(0,&Adc_Getdata);//read adc number

Rte_Call_PpIoHwAb_PwmOut_CH_2(0,Adc_Getdata);

}

函数为自动生成,我们在头文件中找到声明调用即可。

 

IoHwAb.c代码如下:

FUNC(Std_ReturnType, IOHWAB_CODE) IoHwAb_PpIoHwAb_Read_ADC_ADC0_SE12(

P2VAR(IOHWAB_UINT16, AUTOMATIC, RTE_IOHWAB_APPL_VAR) SE12

)

{

Std_ReturnType ReturnValue = E_OK;

*SE12 = AdcGroup_0_Res[8]*32;

return ReturnValue;

}

 

因为我们的硬件采用的硬件触发,且MCAL层驱动已经配置完成,我们只要调用即可,配置如下供理解。

Adc_SetupResultBuffer(AdcGroup_0, AdcGroup_0_Res);

Adc_EnableGroupNotification(AdcGroup_0);

Adc_EnableHardwareTrigger(AdcGroup_0);

你可能感兴趣的:(AUTOSAR实验十三 SWC C/S Port读取ADC)