小住住 发表于 2018-1-8 13:44:35

52832 协议栈中使用PWM 问题

要使用蓝牙控制蜂鸣器响,直接使用pwm 的库,在串口服务的历程中改,发现无法输出PWM,信号。而初始化时候,如果有延时的话,是可以发声的。
但初始化协议栈后,就不行了。使用的引脚是PIN 27 ,APP_PWM_INSTANCE(PWM1,1);定时器1.
      nrf_drv_systick_init();
   app_pwm_config_t pwm1_cfg = APP_PWM_DEFAULT_CONFIG_1CH(500,27);
    /* Switch the polarity of the second channel. */
    pwm1_cfg.pin_polarity = APP_PWM_POLARITY_ACTIVE_HIGH;

    /* Initialize and enable PWM. */
   err_code = app_pwm_init(&PWM1,&pwm1_cfg,pwm_ready_callback);
APP_ERROR_CHECK(err_code);
app_pwm_enable(&PWM1);
    app_pwm_channel_duty_set(&PWM1, 0, 50);
    for(int i=0;i<10;i++)
                  {
                   nrf_drv_systick_delay_ms(120);
                     nrf_drv_systick_delay_ms(120);
                     nrf_drv_systick_delay_ms(120);
                     nrf_drv_systick_delay_ms(120);
                  }这里初始化可以响。

在程序里,接受到命令后,就不响。不知道是什么原因呢?
case MOBUS:
            
                if(app_status.BeepStatus == 0x01)
                  {
                        
                     
                            app_pwm_enable(&PWM1);
                           app_pwm_channel_duty_set(&PWM1, 0, 50);
                     for(int i=0;i<5;i++)
                  {
                   nrf_drv_systick_delay_ms(120);
                     nrf_drv_systick_delay_ms(120);
                     nrf_drv_systick_delay_ms(120);
                     //nrf_drv_systick_delay_ms(120);
                  }
                  }
                     else
                     {
                        // bsp_indication_set(BSP_INDICATE_ALERT_OFF);
                         buzzer_off();
                     }

KTlaoyu 发表于 2022-8-31 11:19:26

你好老师,请教一下您这个问题解决了吗
页: [1]
查看完整版本: 52832 协议栈中使用PWM 问题