我的问题是关于
STM32F103C8T6(blue Pill) 中的 HAL 库,我刚开始使用 stm32,我对 arduino 很了解。
我正在尝试为单相逆变器制作正弦 PWM。为此,我需要
timer1 的通道 1 来生成互补的 pwm 信号,我已经使用 DMA(占空比数组)完成了该信号,以改变占空比。
我用过:
HAL_TIM_PWM_Start_DMA(&htim1, TIM_CHANNEL_1, (uint32_t *) 正弦缓冲器, 60);
HAL_TIMEx_PWMN_Start(&htim1, TIM_CHANNEL_1);
产生脉宽调制。
但此循环 DMA 缓冲区包含仅生成 100% 正弦幅度的值。(最大占空比)。
所以为了对项目实施反馈,我必须更新 DMA 数组值(到初始值的某个百分比)
现在我不知道如何实施它,
如果有一种方法,例如 CCR = ( array[x] * percentage)
或任何其他方法到多个 DMA 数组值(1 到 100%)。
我将从模拟引脚读取百分比。