|
硬件:STM32G030F6P6 软件环境:STM32CubeIDE 实现功能:RCR定数量PWM输出 正常配置硬件,TIM1_CHANNEL2,ONE_Pulse Mode 主程序主动开启时钟、中断: (过去一直这么用!!!) HAL_TIM_Base_Start(&htim1); //这句有的说放在开启中断后,有的说在前,测试发现应该防止前面,否则输出脉冲数少了。 HAL_TIM_PWM_Start_IT(&htim1, TIM_CHANNEL_2); 怎么都进不了下面的中断,但同样的程序,改成TIM3就可以 void HAL_TIM_PWM_PulseFinishedCallback(TIM_HandleTypeDef *htim) 做了各种排列组合,结果发现需要同时(!!!!!?????)启用下列函数,才能正确进入中服务(重点是以前从来没这么用过!!!) __HAL_TIM_ENABLE_IT(&htim1, TIM_IT_UPDATE); HAL_TIM_PWM_Start_IT(&htim1, TIM_CHANNEL_2); 也许这就是研发——从一个又一个的坑里趴出来,外人看上去以为你在走平路。 另外发现一个好用的功能,给大家分享以下: 固定个数的脉冲输出,可以采用PWM 的 ONE_Pulse Mode 方式, 通过: TIM1->RCR = pulse 根据需要修改脉冲数量 TIM1->ARR = 1/f 修改频率 TIM1->CCR1 = du 修改脉宽 非常方便,也好记。
|
STM32G071C8的ADC问题,测量6路交流信号,端口使用PA2-PA7,信号来自电流互感器次级用20欧电阻转为电压信号,并联T4,通过1K,104滤波后到ADC引脚,个别芯片出现PA3结果是固定值,即使直接把引脚对地短短接,结果也是2000多个数,可能是什么原因
STM32G030F6P6TR 48MHz下Flash擦写必HardFault?官方库疑似有坑,求勘误或替代方案
stm32g071的rtc初始化后会直接进入中断怎么办?
STM32G030死机问题
A Guide to Mastering Slope
STM32G0B1
无源晶振开关电路设计
STM32G031F8P6开启读保护后,数据全变成0?
stm32g030f6p6的LL库,ADC多通道,DMA错位问题请教
STM32G030x6/x8被淋雨进水了但未通电,风险如何?怎么处理?
微信公众号
手机版
会不会是定时器1和定时器0一般是高级定时器,需要这样呢