关于fireblue的PWM

今天看了fireblue 官方给的例子,发现配置PWM有两个例子。一个是time例子里的pwm模式,一个是专门的PWM例子 。我想问一下time的那个例子怎么用?我把time的pwm例子烧进去io口不能测到pwm波啊?不是测pwm0这个io口吗?

不是的,如果使用定时器做PWM的话,那么PWM是通过当前定时器的输出口来输出的。由于QN9021和QN9020封装不一致,所以当前定时器的输出口可能和例程中的不一样(例程是基于QN9020的),可以用QBlueDriverTool重新进行IO口配置,找到当前timer的输出口。

安安 发表于 2015-7-28 14:15
不是的,如果使用定时器做PWM的话,那么PWM是通过当前定时器的输出口来输出的。由于QN9021和QN9020封装不一 …

好的 ,我试试

這是為輸出端口P26 PWM
void pwm_io_config(void)
{
//CHARGER CONFIG
pwm_init(PWM_CH1);
pwm_config(PWM_CH1, PWM_PSCAL_DIV, PWM_COUNT_US(100, PWM_PSCAL_DIV), PWM_COUNT_US(10, PWM_PSCAL_DIV));

syscon_SetPMCR1WithMask(QN_SYSCON, P26_MASK_PIN_CTRL,  P26_PWM1_PIN_CTRL);

}

這是切換回到GPIO
void pwm_io_dis_config(void)
{

syscon_SetPMCR1(QN_SYSCON, P26_GPIO_22_PIN_CTRL         //P2.6 GPIO
                         );
gpio_set_direction_field(CHARGERPIN, GPIO_OUTPUT);
gpio_write_pin(CHARGERPIN, MASK_DISABLE);

}