avatar

松果工作室

欢迎光临

  • 首页
  • freeRTOS
  • ESP
  • 开发手册
  • 快速笔记
  • 个人收藏
  • 工具
Home [STM32] 2.PWM DMA
文章

[STM32] 2.PWM DMA

Posted 2024-12-22 Updated 2024-12- 22
By YCP
4~6 min read

CubeMX 配置

  1. Channel2 -- PWM Generation CH2
  2. DMA Setting -- TIM CH2 通用配置(内存到外设)
  3. 参数配置 -- Prescaler(决定占空比调节的精细度),Counter period(和前者一起,决定了周期)

PWM DMA

#include "default_task.h"
#include "main.h"
#include "syscfg.h"
#include "FreeRTOS.h"
#include "task.h"
#include "tim.h"

#define NUM 9
uint32_t send_Buf[9] = { 0};
void default_task(void *pt){
    for (int i = 0; i < NUM; i++){
        send_Buf[i] = 100 * (i + 1);
    }
    send_Buf[NUM - 1] = 0;
    HAL_TIM_PWM_Start_DMA(&htim2,TIM_CHANNEL_2,send_Buf,NUM);
    for(;;){
        HAL_TIM_PWM_Start_DMA(&htim2,TIM_CHANNEL_2,send_Buf,NUM);

        vTaskDelay(10);
    }
}
void HAL_TIM_PWM_PulseFinishedCallback(TIM_HandleTypeDef *htim)
{
    HAL_TIM_PWM_Stop_DMA(&htim2, TIM_CHANNEL_2);
}
STM
License:  CC BY 4.0
Share

Further Reading

OLDER

[STM32] 1. 串口

NEWER

其他笔记

Recently Updated

  • ESP32(八) 简单的webserver
  • ESP32(七) NVS
  • ESP32(四) STA & AP
  • 多级菜单
  • ESP32(五) ESP32 OTA

Trending Tags

WCH Linux Elec freeRTOS STM ESP Flutter Others SwiftUI

Contents

©2025 松果工作室. Some rights reserved.

Using the Halo theme Chirpy