<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>i.MX RT Crossover MCUsのトピックRe: RT1051 PWM Capture Counter Stop</title>
    <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1051-PWM-Capture-Counter-Stop/m-p/2197282#M35556</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/232480"&gt;@coderick&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;Thanks for your interest in NXP MIMXRT series!&lt;/P&gt;
&lt;P&gt;Did you set&amp;nbsp;&lt;SPAN&gt;BOARD_PWM_BASEADDR-&amp;gt;SM[3].VAL1 &amp;amp; INIT in your project? If VAL1 is still 0, it will cause a problem.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Best regards,&lt;BR /&gt;Gavin&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Mon, 03 Nov 2025 07:18:09 GMT</pubDate>
    <dc:creator>Gavin_Jia</dc:creator>
    <dc:date>2025-11-03T07:18:09Z</dc:date>
    <item>
      <title>RT1051 PWM Capture Counter Stop</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1051-PWM-Capture-Counter-Stop/m-p/2196192#M35541</link>
      <description>&lt;P&gt;您好，最近在做关于RT1051的FlexPWM捕获项目时，遇到了计时器无法正常启动的问题，将分频代码去掉或者设为1分频时，Counter可以正常运行，但是设置2分频或更高的分频时Counter就停止了，这是什么原因？&lt;/P&gt;&lt;LI-CODE lang="c"&gt;void Capture_config(void)
{
    pwm_input_capture_param_t pwm_input_capture;
    gpio_pin_config_t PWM_pin_config;
  
    //初始化输入捕获管脚
    IOMUXC_SetPinMux(PWM2_PWMA03_IOMUXC, 0U);                             //设置外部引脚的复用功能                              
    IOMUXC_SetPinConfig(PWM2_PWMA03_IOMUXC, PWMC_INPUT_PAD_CONFIG_DATA);     //设置引脚的 pad 属性 

    PWM_pin_config.direction = kGPIO_DigitalInput;
    PWM_pin_config.interruptMode = kGPIO_NoIntmode;

    GPIO_PinInit(PWM2_PWMA03_GPIO, PWM2_PWMA03_GPIO_PIN, &amp;amp;PWM_pin_config);

    //初始化输入捕获配置参数
    pwm_input_capture.captureInputSel = false;
    pwm_input_capture.edge0 = kPWM_RisingEdge;
    //pwm_input_capture.edge1 = kPWM_FallingEdge;
    pwm_input_capture.enableOneShotCapture = false;
    //pwm_input_capture.edgeCompareValue = 10;  //当captureInputSel为FALSE时，此处设值无意义
    pwm_input_capture.fifoWatermark = 0;
    PWM_SetupInputCapture(PI_PWM_BASEADDR, kPWM_Module_3, kPWM_PwmA, &amp;amp;pwm_input_capture);

    //开启捕获中断
    //set_IRQn_Priority(PWM2_3_IRQn,Group4_PreemptPriority_0, Group4_SubPriority_0);//设置中断优先级
    //PWM_EnableInterrupts(PI_PWM_BASEADDR, kPWM_Module_3, kPWM_CaptureA0InterruptEnable| kPWM_CaptureA1InterruptEnable );
    PWM_EnableInterrupts(PI_PWM_BASEADDR, kPWM_Module_3, kPWM_CaptureA0InterruptEnable );
    EnableIRQ(PWM2_3_IRQn);  
}

 /**
* @brief  初始化 PWM  配置参数 
* @retval 无
*/
void PWM_config(void)
{
    pwm_config_t pwmConfig;//定义pwm 配置结构体

    PWM_Deinit(PI_PWM_BASEADDR, kPWM_Module_3);
    /*设置AHB总线时钟和IP总线时钟*/
    CLOCK_SetDiv(kCLOCK_IpgDiv, 0x3); /* Set IPG PODF to 3, divede by 4 */

    /*设置pwm 错误输入为高电平，表示没有错误，只有当pwm 没有错误输入或者禁止错误检测才能正常输出pwm波*/
    XBARA_Init(XBARA1);
    XBARA_SetSignalsConnection(XBARA1, kXBARA1_InputLogicHigh, kXBARA1_OutputFlexpwm1Fault0);
    XBARA_SetSignalsConnection(XBARA1, kXBARA1_InputLogicHigh, kXBARA1_OutputFlexpwm1Fault1);
    XBARA_SetSignalsConnection(XBARA1, kXBARA1_InputLogicHigh, kXBARA1_OutputFlexpwm1234Fault2);
    XBARA_SetSignalsConnection(XBARA1, kXBARA1_InputLogicHigh, kXBARA1_OutputFlexpwm1234Fault3); 
    
    PWM_GetDefaultConfig(&amp;amp;pwmConfig);
    pwmConfig.reloadLogic = kPWM_ReloadPwmFullCycle; //新值在上一个pwm周期输出结束之后加载到缓冲寄存器中
    pwmConfig.pairOperation = kPWM_Independent;      // 工作在独立模式
    pwmConfig.clockSource = kPWM_BusClock;
    pwmConfig.enableDebugMode = true;                // 使能DebugMode 
    pwmConfig.prescale = kPWM_Prescale_Divide_128;    //1320000000/128/65535=16Hz=PWM最小频率

    //初始化 PWM 并且判断初始化是否成功
    if (PWM_Init(PI_PWM_BASEADDR, kPWM_Module_3, &amp;amp;pwmConfig) == kStatus_Fail)
    {
        PRINTF("PWM initialization failed\n");
    }
    Capture_config();
    PWM_SetPwmLdok(PI_PWM_BASEADDR,kPWM_Control_Module_3 , true);   
    PWM_StartTimer(PI_PWM_BASEADDR, kPWM_Control_Module_3 );
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 31 Oct 2025 00:45:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1051-PWM-Capture-Counter-Stop/m-p/2196192#M35541</guid>
      <dc:creator>coderick</dc:creator>
      <dc:date>2025-10-31T00:45:47Z</dc:date>
    </item>
    <item>
      <title>Re: RT1051 PWM Capture Counter Stop</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1051-PWM-Capture-Counter-Stop/m-p/2197282#M35556</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/232480"&gt;@coderick&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;Thanks for your interest in NXP MIMXRT series!&lt;/P&gt;
&lt;P&gt;Did you set&amp;nbsp;&lt;SPAN&gt;BOARD_PWM_BASEADDR-&amp;gt;SM[3].VAL1 &amp;amp; INIT in your project? If VAL1 is still 0, it will cause a problem.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Best regards,&lt;BR /&gt;Gavin&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 03 Nov 2025 07:18:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1051-PWM-Capture-Counter-Stop/m-p/2197282#M35556</guid>
      <dc:creator>Gavin_Jia</dc:creator>
      <dc:date>2025-11-03T07:18:09Z</dc:date>
    </item>
  </channel>
</rss>

