当前位置: 首页 > news >正文

STM32CubeMX使用9 配置Time4 PWM(DMA)输出

以STM32F407VGT6为例

使用Time4的通道1(PB6)和通道2(PB7)

  1. 打开一个配置好的系统时钟工程。可参考STM32CubeMX使用1 配置系统时钟
  2. 寻找通道1和通道2对应引脚PB6和PB7
  3. 打开Tim4的PWM控制引脚
  4. 详细介绍配置参数
  5. 配置DMA
  6. 生成代码
  7. 常用
    uint16_t pwm1_buf1[10] = {10,11,12,33,34,36,67,68,69,104}; uint16_t pwm1_buf2[10] = {20,21,22,43,44,46,77,78,79,94}; uint32_t dma_ch1_num = 0;//记录进入中断的次数 uint32_t dma_ch2_num = 0;//记录进入中断的次数 int main(void) { int count = 1; MX_DMA_Init(); rt_thread_mdelay(1000); MX_TIM4_Init(); rt_thread_mdelay(1000); HAL_TIM_PWM_Start_DMA(&htim4, TIM_CHANNEL_1, (uint32_t*)pwm1_buf1, 10); HAL_TIM_PWM_Start_DMA(&htim4, TIM_CHANNEL_2, (uint32_t*)pwm1_buf2, 10); while (count++) { LOG_D("CCR1=%d, CCR2=%d [%d:%d]\r\n", TIM4->CCR1, TIM4->CCR2,dma_ch1_num,dma_ch2_num); } void DMA1_Stream0_IRQHandler(void) { /* USER CODE BEGIN DMA1_Stream0_IRQn 0 */ dma_ch1_num++; /* USER CODE END DMA1_Stream0_IRQn 0 */ HAL_DMA_IRQHandler(&hdma_tim4_ch1); /* USER CODE BEGIN DMA1_Stream0_IRQn 1 */ /* USER CODE END DMA1_Stream0_IRQn 1 */ } /** * @brief This function handles DMA1 stream3 global interrupt. */ void DMA1_Stream3_IRQHandler(void) { /* USER CODE BEGIN DMA1_Stream3_IRQn 0 */ dma_ch2_num++; /* USER CODE END DMA1_Stream3_IRQn 0 */ HAL_DMA_IRQHandler(&hdma_tim4_ch2); /* USER CODE BEGIN DMA1_Stream3_IRQn 1 */ /* USER CODE END DMA1_Stream3_IRQn 1 */ } void HAL_TIM_PWM_PulseFinishedCallback(TIM_HandleTypeDef *htim) { //如果想让dam传输完成后保存最后一个CCR值继续输出PWM,屏蔽以下即可 //如果想只发送一次后就关闭PWM输出,打开即可 #if 1 HAL_TIM_PWM_Stop_DMA(&htim4, TIM_CHANNEL_1); /* 传输完成后手动停止PWM */ HAL_TIM_PWM_Stop_DMA(&htim4, TIM_CHANNEL_2); /* 传输完成后手动停止PWM */ #endif }
http://www.jsqmd.com/news/586707/

相关文章:

  • 智能EFI构建:OpCore-Simplify如何重构黑苹果配置流程
  • BiliTools智能视频总结:高效提取B站视频知识精华的全指南
  • 如何解决网盘限速难题?开源工具让下载效率提升300%
  • 杭州高端腕表真假鉴定全解:六大城市 37 大品牌防伪要点、专业流程与市场风险深度科普(附 2026 行业数据) - 时光修表匠
  • Visual C++ Redistributable AIO:开源项目运行时依赖管理一站式解决方案
  • 共话靠谱的安全鞋生产厂家,湖北性价比高的安全鞋怎么选 - 工业品牌热点
  • 用阿里百炼+Qwen-VL快速搭建多模态AI助手:图片描述生成与API调用指南
  • 告别风扇噪音:Fan Control的智能调节散热方案
  • 亲测实用!6款覆盖全职业阶段的专业简历模板平台合集
  • 探秘书匠策AI“论文魔法盒”:解锁期刊论文全流程秘籍
  • 如何用douyin-downloader在3分钟内解决抖音内容批量保存难题
  • 我们这些程序员在人工智能时代注定要失败吗?(一位穷困潦倒的计算机科学系学生)
  • Graphormer在纳米材料设计中的应用:碳纳米管手性与导电性关联预测
  • PowerToys中文汉化版:微软官方增强工具箱的终极本地化体验
  • CMLM-ZhongJing:中医智能化的大语言模型突破方案
  • 书匠策AI:论文写作界的“智能导航仪”,期刊发表不再迷路!
  • 全志 H3 Armbian 系统克隆:从 dd 到 rsync 的完整指南
  • 小学 → 初中数学过渡能力清单(家长版)
  • golang如何实现桌面通知推送_golang桌面通知推送实现详解
  • Git-RSCLIP快速入门:基于1000万图文对训练的遥感AI模型实测
  • TouchGal终极指南:3步打造你的专属Galgame社区家园
  • 从Tiled编辑器到CocosCreator:手把手教你制作并导入一张可交互的2D游戏地图(避坑指南)
  • AKShare数据接口异常解决之道:系统性诊断与修复指南
  • 书匠策AI:论文写作界的“魔法棒”,期刊论文轻松搞定!
  • 5大场景全覆盖:BilibiliDown视频下载工具的全方位应用指南
  • 2026年4月全球版权律师推荐:五名口碑服务评测对比知名顶尖 - 十大品牌推荐
  • AEUX:让设计稿在After Effects中“活“起来的3个关键步骤
  • 如何用Zotero自动追踪学术引用数据?三分钟完成安装配置
  • CirFix: automatically repairing defects in hardware design code-自动修复硬件设计代码中的缺陷
  • Fish Speech 1.5镜像免配置指南:3步启动WebUI生成高自然度语音