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.硬件连接
==================================================================================
2.SWC配置
=============================================================
2.1在CFG中配置Port Interface和Port Protypes
note:direction是对于IoHwAb来说是进还是出,此处为输入(输入为变量传参,输出为指针作为形参传递数据)。
2.2创建SWC 创建port Prototype client
2.3 在sheet中创建 component,port间建立连接
2.4 配置trigger和access point
3.代码部分
-=======================================================
代码部分涉及到了CtApSwcLightLed.c和IoHwAb.c两个文件。重点内容是怎么把值从CtApSwcLightLed.c向下传递到IoHwAb中。(通过函数调用,形参传递),rte层起到一个桥梁的作用,通过宏给IoHwAb中的函数重命名共SWC调用
CtApSwcLightLed.c代码如下:
//static int IoHwAb_CH2_PWM_count = 0;
FUNC(void, CtApSwcLightLed_CODE) RCtApSwc_LightLED(Rte_Instance self){
IoHwAb_CH2_PWM_count++;
if( IoHwAb_CH2_PWM_count <=50){
Rte_CallPpIoHwAb_PwmOut_CH_2(0,0x8000);
}
if( IoHwAb_CH2_PWM_count >=50){
IoHwAb_CH2_PWM_count = 0;
Rte_Call_PpIoHwAb_PwmOut_CH_2(0,0);
}
if( IoHwAb_CH2_PWM_count >=100){
IoHwAb_CH2_PWM_count = 0;
}
}
IoHwAb.c代码如下:
FUNC(Std_ReturnType, IOHWAB_CODE) IoHwAb_PpIoHwAbPwmOut_CH_2(
IOHWAB_UINT16 pwm
)
{
Std_ReturnType ReturnValue = E_OK;
Pwm_SetDutyCycle(P_DO_CH2_PWM,pwm);
return ReturnValue;
}