新手入门 
 
	- 积分
 - 9
 
        - 金钱
 - 9 
 
       - 注册时间
 - 2023-12-2
 
      - 在线时间
 - 2 小时
 
 
 
 | 
 
 
 楼主 |
发表于 2024-1-21 12:30:28
|
显示全部楼层
 
 
 
- /**
 
 -  * @brief       高级定时器TIMX NPWM设置PWM个数
 
 -  * [url=home.php?mod=space&uid=271674]@param[/url]       npwm : PWM的个数, 1~2^32次方个
 
 -  * @retval      无
 
 -  */
 
 - void atim_timx_npwm_chy_set(uint32_t npwm)
 
 - {
 
 -     if (npwm == 0) return;
 
  
-     g_npwm_remain = npwm;                                                           /* 保存脉冲个数 */
 
 -     HAL_TIM_GenerateEvent(&g_timx_npwm_chy_handle, TIM_EVENTSOURCE_UPDATE);         /* 产生一次更新事件,在中断里面处理脉冲输出 */
 
 -     __HAL_TIM_ENABLE(&g_timx_npwm_chy_handle);                                      /* 使能定时器TIMX */
 
 - }
 
 - /**
 
 -  * @brief       高级定时器TIMX NPWM中断服务函数
 
 -  * @param       无
 
 -  * @retval      无
 
 -  */
 
 - void ATIM_TIMX_NPWM_IRQHandler(void)
 
 - {
 
 -   ...
 
 -   if (npwm)                                                                   /* 有脉冲要发送 */
 
 -   {
 
 -       ATIM_TIMX_NPWM->RCR = npwm - 1;                                         /* 设置重复计数寄存器值为npwm-1, 即npwm个脉冲 */
 
 -       HAL_TIM_GenerateEvent(&g_timx_npwm_chy_handle, TIM_EVENTSOURCE_UPDATE); /* 产生一次更新事件, */
 
 -       __HAL_TIM_ENABLE(&g_timx_npwm_chy_handle);                              /* 使能定时器TIMX */
 
 -   }
 
 -   ...
 
 - }
 
 
  复制代码 |   
 
 
 
 |