Hello.
I Found that PWM channel 1 on on Timer 2 of APM32F003F6P6 doesn’t work, while channels 2 & 3
works correctly. As a test for this issue I used code:
#define PWM_DIV 4
void apm32f003_pwm_init(uint16_t lvl)
{
TMR2_OCConfig_T TIM_OCInitStructure;
TMR2_ConfigTimerBase(0, 0xFFFF/PWM_DIV); //divider, counter
TIM_OCInitStructure.channel = TMR2_CHANNEL_ALL;
TIM_OCInitStructure.count = 4000;
TIM_OCInitStructure.mode = TMR2_OC_MODE_PWM1;
TIM_OCInitStructure.OCxOutputState = TMR2_OC_OUTPUT_ENABLE;
TIM_OCInitStructure.OCxPolarity = TMR2_OC_POLARITY_HIGH;
TMR2_ConfigOutputCompare(&TIM_OCInitStructure);
TMR2_DisableAutoReloadBuffer();
TMR2_Enable();
}
int main()
{
apm32f003_pwm_init(500);
while(1)
{
}
return 0;
}
What am I doing wrong? Or this is MCU feature?