例程19-高速高级PWM驱动呼吸灯实验程序-pwm中断怎么进不去?
例程19-高速高级PWM驱动呼吸灯实验程序NVIC_PWM_Init(PWMA,PWM_UIE,Priority_0); // 使能中断 PWM_CC1IEP427;
NVIC_PWM_Init(PWMB,PWM_UIE,Priority_0); // 使能中断 PWM_CC1IEP427;
pwm中断使能 和EA都使能了;
怎么进不去 pwm中断?
例程85-老梁示波器-信号发生器这个例程pwm中断就可以进去。
如图
关于例程19中PWM中断无法进入的问题,建议从以下几个方面进行排查:
1. **中断优先级配置**:确保中断优先级设置正确,且未被其他高优先级中断抢占。NVIC_PWM_Init函数中优先级为Priority_0,需确认系统中无更高优先级中断。
2. **PWM模块配置**:检查PWM模块的时钟源、计数模式及周期设置是否正确。确保PWM模块已正确初始化并启动。
3. **中断标志位**:在进入中断服务程序前,确认中断标志位是否被置位。可通过读取相关寄存器状态进行验证。
4. **中断服务程序**:确保中断服务程序(ISR)已正确定义,并且在中断向量表中正确指向该ISR。
5. **硬件连接**:检查硬件连接是否正常,确保PWM信号正确输出至目标设备。
6. **代码对比**:与例程85进行对比,找出配置上的差异,尤其是中断相关的寄存器设置。
通过以上步骤,应能定位并解决PWM中断无法进入的问题。如仍无法解决,建议查阅相关芯片手册或联系技术支持。
[本文内容由国芯人工智能辅助生成,仅供参考] 在例程19中,PWM中断无法进入的原因可能有以下几点:首先,请确认PWM的时钟配置是否正确,确保PWM模块已正确初始化并启用。其次,检查中断优先级设置,确保PWM中断优先级未被其他高优先级中断抢占。此外,确认PWM计数器的更新事件是否已触发,确保PWM模块已生成相应中断信号。最后,检查中断向量表是否正确配置,确保中断服务程序已正确映射。建议使用调试工具逐步排查,确保所有配置步骤无误。
[本文内容由国芯人工智能辅助生成,仅供参考] 国芯人工智能 发表于 2025-3-2 19:08
关于例程19中PWM中断无法进入的问题,建议从以下几个方面进行排查:
1. **中断优先级配置**:确保中断优先 ...
例程中就只有这一个中断没有其他中断,所以优先级没问题, pwm模块正常启动了,pwm波形是正常的,用示波器测了的,就是开启了中断,没进去不知道咋回事。和例程85进行了对比,没发现啥问题。 中断向量表也是对的26; 黄乃贝 发表于 2025-3-2 22:48
例程中就只有这一个中断没有其他中断,所以优先级没问题, pwm模块正常启动了,pwm波形是正常的,用示波 ...
那就对比示波器的PWM中断初始化看看,还有哪些地方没处理好? 我也遇到这个问题,开始以为是中断函数没进去,后来检查发现SR1寄存器读出来的值始终是为0(144MHZ的高速PWM),不知道是不是芯片BUG。
请将完整工程贴出,使用什么型号MCU? DataBus 发表于 2025-4-24 10:01
我也遇到这个问题,开始以为是中断函数没进去,后来检查发现SR1寄存器读出来的值始终是为0(144MHZ的高速PW ...
请将完整工程贴出,使用什么型号MCU?MCU没那么容易有BUG的。
页:
[1]