iチーム、
S32k312 MCUを使用しており、S32 Design Studio 3.5を使用してEmios PWMの設定を試みました。PWM信号を生成することができませんでした。以下の添付ファイルで構成を見つけ、必要に応じて修正してください。現在、Non-Autosar モードに取り組んでおり、6 つの PWM チャネルを使用しており、チャネルを以下に示します。
SasiKumar_Vengam_0-1731946197107.png
SasiKumar_Vengam_1-1731946240011.png
SasiKumar_Vengam_2-1731946281847.png
SasiKumar_Vengam_3-1731946299112.png
Emios_Mcl_Ip_Init (EMIOS_1,&Emios_Mcl_Ip_1_Config_BOARD_INITPERIPHERALS);
Emios_Pwm_Ip_InitChannel(EMIOS_PWM_IP_I0_CH0_CFG,&Emios_Pwm_Ip_I0_Ch0);
Emios_Pwm_Ip_InitChannel(EMIOS_0,&Emios_Pwm_Ip_I0_Ch1);
Emios_Pwm_Ip_InitChannel(EMIOS_0,&Emios_Pwm_Ip_I0_Ch2);
Emios_Pwm_Ip_InitChannel(EMIOS_0,&Emios_Pwm_Ip_I0_Ch3);
Emios_Pwm_Ip_InitChannel(EMIOS_0,&Emios_Pwm_Ip_I0_Ch4);
// Emios_Pwm_Ip_InitChannel(EMIOS_1,&Emios_Pwm_Ip_I1_Ch0);
注:-Emios_Pwm_Ip_I1_Ch0 チャネルを正常に初期化できません。以下の関数コードは、Base->CHのために終了しています。UC[チャンネル]。C値はゼロですが、初期化しました
Emios_Mcl_Ip_Init() fn で、設定に添付されたイメージMCL_IPを見つけます。
Emios_Pwm_Ip_MasterBusModeType Emios_Pwm_Ip_GetChannelPwmMode( const Emios_Pwm_Ip_HwAddrType *const ベース,
uint8 チャネル)
while(1)
{
Emios_Mcl_Ip_SetCounterBusPeriod(0,23,32768);
Status = Emios_Pwm_Ip_SetDutyCycle(EMIOS_PWM_IP_I0_CH0_CFG,EMIOS_PWM_IP_I0_CH0_CFG,3268);
sprintf( (char*)メッセージ, "Status_0 = %d \n",ステータス);
Uart_logs_transmit(メッセージ);
TestDelay(DELAY_TIMER);
DutyCycle = Emios_Pwm_Ip_GetDutyCycle(EMIOS_0,EMIOS_PWM_IP_I0_CH0_CFG);
sprintf( (char*)メッセージ, "デューティサイクル = %d \n",デューティサイクル);
Uart_logs_transmit(メッセージ);
Status = Emios_Pwm_Ip_SetDutyCycle(EMIOS_0,EMIOS_PWM_IP_I0_CH1_CFG,32768);
TestDelay(DELAY_TIMER);
Status = Emios_Pwm_Ip_SetDutyCycle(EMIOS_0,EMIOS_PWM_IP_I0_CH2_CFG,32768);
TestDelay(DELAY_TIMER);
Status = Emios_Pwm_Ip_SetDutyCycle(EMIOS_0,EMIOS_PWM_IP_I0_CH3_CFG,32768);
TestDelay(DELAY_TIMER);
Status = Emios_Pwm_Ip_SetDutyCycle(EMIOS_0,EMIOS_PWM_IP_I0_CH4_CFG,32768);
TestDelay(DELAY_TIMER);
Status = Emios_Pwm_Ip_SetDutyCycle(EMIOS_0,EMIOS_PWM_IP_I1_CH0_CFG,32768);
}
何か見逃したことがあれば、お知らせください。
ご都合が良ければ、簡単なテストのために簡単なテストプロジェクトを送ってください。