数字电桥spwm生成-stm32f030f4p6+dma

[复制链接]
3257|1
手机看帖
扫描二维码
随时随地手机跟帖
叶春勇|  楼主 | 2021-8-25 12:52 | 显示全部楼层 |阅读模式
使用stm32cubemx生成:一、外设设置
1、设置时钟,设置需要pwm输出的引脚
443066125c8e86868f.png

2、设置pwm的模式
108586125c961cc8f1.png
3、设置DMA模式
4256125ca3c5e33b.png
二、程序编写注意点
1、sin表与上面三设置一直,halfword=uint16_t
/* USER CODE BEGIN PV */
uint16_t spwm_table[20]={0x7,0x9,0xb,0xd,0xe,0xe,0xe,0xd,0xb,0x9,0x7,0x5,0x3,0x1,0x0,0x0,0x0,0x1,0x3,0x5};

/* USER CODE END PV */
2、使能pwm
HAL_TIM_PWM_Start_DMA(&htim1, TIM_CHANNEL_3,(uint32_t*)spwm_table,20);
3、pwm完成中断,可在中断中设置标志位,完成同步,例如不断累加,让程序知道目前再哪个相位上。
/* USER CODE BEGIN PFP */
void HAL_TIM_PWM_PulseFinishedCallback(TIM_HandleTypeDef *htim)
{
        //HAL_TIM_PWM_Stop_DMA(&htim1, TIM_CHANNEL_3);
}
/* USER CODE END PFP */

三、示波器效果
1、波形
960696125cb7abc019.png
2、频谱
39996125cc7517c1e.png


使用特权

评论回复

相关帖子

yjmwxwx| | 2021-8-25 13:25 | 显示全部楼层
学习了,看了你的帖子我才看到,我程序里面又有错误

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

151

主题

4797

帖子

49

粉丝