Hello,
I am using Da14695 usb development kit with WiRa Sdk version WiRa_10.440.8.6.
I want to use gpios such as P0_17 or P0_18 for pwm timer with Timer3 and Timer4 but didn't get the output.
With the help of timer example i am able to use P1_1 and P1_6 with Timer and Timer2 but i want to use P0_ 17 and P0_18 as Pwm.
i modified Timer example as
(In this sleep mode is set to pm_mode_active mode)
#define TIMER1_PWM_PORT HW_GPIO_PORT_0
#define TIMER1_PWM_PIN HW_GPIO_PIN_18
static void prvSetupHardware( void )
{
/* Init hardware */
pm_system_init(periph_init);
/* Enable the COM power domain before handling any GPIO pin */
hw_sys_pd_com_enable();
/* PWM functionality */
hw_gpio_set_pin_function(TIMER1_PWM_PORT, TIMER1_PWM_PIN, HW_GPIO_MODE_OUTPUT, HW_GPIO_FUNC_TIM3_PWM);
hw_gpio_pad_latch_enable (TIMER1_PWM_PORT, TIMER1_PWM_PIN);
hw_gpio_pad_latch_disable(TIMER1_PWM_PORT, TIMER1_PWM_PIN);
/* Disable the COM power domain after configuring all the GPIO pins */
hw_sys_pd_com_disable();
}
void _timer_init(HW_TIMER_ID id)
{
timer_config cfg = {
.clk_src = HW_TIMER_CLK_SRC_EXT,
.prescaler = 31,
.mode = HW_TIMER_MODE_TIMER,
/* Configure TIMER in capture mode */
.timer = {
.direction = HW_TIMER_DIR_UP,
.reload_val = 0,
.free_run = true,
},
/* Configure PWM functionality */
.pwm = {
.port = TIMER1_PWM_PORT,
.pin = TIMER1_PWM_PIN,
.pwm_active_in_sleep = true,
.frequency = 64999,
.duty_cycle = 32500,
},
};
hw_timer_init(id, &cfg);
hw_timer_register_int(id, _timer_overflow_cb);
}
void prvTimersTask( void *pvParameters )
{
printf("*** TIMER3 Demonstration ***\n\r");
_timer_init(HW_TIMER3);
hw_timer_enable(HW_TIMER3);
for (;;) {
}
}
Is the timer configuration is correct or any thing need to add.
每个gpio的只能用作Pwm或specific gpios .
how to use gpio P0_17 as Pwm timer.
Thank you
Jagath
Hi Jagath,
Because only P1_1 and P1_6 can provide a PWM output while the device is in sleep mode, when you use any other GPIO as a PWM output you must set the pwm_active_in_sleep variable in the PWM configuration structure to false, as follows:
Best regards
IM_Dialog
Thank you