一 TIM初始化

首先初始化PWM引脚,在这里使用的是TIM4的ch3,设置PD14为复用输出,并连接到TIM4

 GPIO_InitTypeDef GPIO_InitStruct;GPIO_InitStruct.Pin = GPIO_PIN_14;GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;GPIO_InitStruct.Alternate = GPIO_AF2_TIM4;HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);

时基单元设置,设置预分频系数,向上计数等

TIM_HandleTypeDef htim4;//设置预分频系数等htim4.Instance = TIM4;htim4.Init.Prescaler = arr;htim4.Init.CounterMode = TIM_COUNTERMODE_UP;htim4.Init.Period = psc;htim4.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;htim4.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;HAL_TIM_Base_Init(&htim4);HAL_TIM_PWM_Init(&htim4);

震荡输出单元,设置模式,初始PWM等

 sConfigOC.OCMode = TIM_OCMODE_PWM1;sConfigOC.Pulse = arr/2;sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_3);HAL_TIM_PWM_Start(&htim4,TIM_CHANNEL_3);

二 调用

为了方便调用,首先定义

#define PWM TIM4->CCR3

然后修改PWM时,直接对PWM进行赋值就好,如:

PWM=100;

基于STM32的HAL库的倒立摆控制(一)PWM输出相关推荐

  1. STM32CubeMX | 基于STM32使用HAL库硬件SPI驱动WK2124一拖四SPI转四路串口芯片

    STM32CubeMX | 基于STM32使用HAL库硬件SPI驱动WK2124一拖四SPI转四路串口芯片 STM32基础工程生成 首先使用STM32CUBEMX生成STM32的基础工程,配置时钟到7 ...

  2. STM32CubeMX | 基于STM32使用HAL库实现USB组合设备之多路CDC

    STM32CubeMX | 基于STM32使用HAL库实现USB组合设备之多路CDC 本博客完整代码下载地址:https://download.csdn.net/download/qq15347150 ...

  3. 【基于Simulink+UG NX MCD 一级倒立摆控制系统仿真】建模和分析(一)

    前言 倒立摆是比较典型的系统,可以看出火箭发射的简化模型,国内外学者常常通过在倒立摆上开发和测试控制算法. 对倒立摆的控制分为两大任务: 起摆 稳摆 所以本文想通过此项目对自动控制原理进行一个复习与学 ...

  4. 【STM32】HAL库 STM32CubeMX教程十五---FMC-SDRAM(一)

    前言: 本系列教程将HAL库与STM32CubeMX结合在一起讲解,使您可以更快速的学会各个模块的使用 本文 1首先讲解什么是FMC及SDRAM,W9825G6KH芯片原理,2基于CubeMx创建工程 ...

  5. 【STM32】HAL库 STM32CubeMX教程十四---SPI

    前言: 本系列教程将HAL库与STM32CubeMX结合在一起讲解,使您可以更快速的学会各个模块的使用 在我们的HAL库中,对硬件SPI函数做了很好的集成,使得之前SPI几百行代码,在HAL库中,只需 ...

  6. 【STM32】HAL库 STM32CubeMX教程十一---DMA (串口DMA发送接收)

    前言: 本系列教程将 对应外设原理,HAL库与STM32CubeMX结合在一起讲解,使您可以更快速的学会各个模块的使用 所用工具: 1.芯片: STM32F407ZET6/ STM32F103ZET6 ...

  7. STM32的HAL库及其使用

    随着时代的逐步发展,联网.USB.文件系统.加密算法.RTOS.GUI等第三方组件变得越来越重要,简陋的标准库已经很难满足当代单片机开发需求了. 事实上,单片机开发在走PC.手机等以CPU为核心的产品 ...

  8. STM32的HAL库分析及使用

    STM32的三种开发方式 通常新手在入门STM32的时候,首先都要先选择一种要用的开发方式,不同的开发方式会导致你编程的架构是完全不一样的.一般大多数都会选用标准库和HAL库,而极少部分人会通过直接配 ...

  9. STM32之HAL库详解 及 手动移植

    转载出处:http://blog.csdn.net/zcshoucsdn/article/details/55213616 HAL库结构   说到STM32的HAL库,就不得不提STM32CubeMX ...

最新文章

  1. SpringMVC---web.xml的配置
  2. android Run模式也会出现Waiting for debugger的解决方法
  3. LeetCode-剑指 Offer 11. 旋转数组的最小数字
  4. 《Genesis-3D开源游戏引擎完整实例教程-跑酷游戏篇:简介及目录》(附上完整工程文件)...
  5. A股开盘:深证区块链50指数跌0.52%,华闻集团跌停
  6. 逻辑思维与C/C++解题
  7. c语言 怎么把数据存储,急求如何将下列C语言程序数据存储到文件中?
  8. 单片机c51语言显示help,单片机入门-C51语言LCD12864液晶显示器的基本使用介绍
  9. java项目经验总结
  10. 销售管理系统er图_这套电商订单管理系统,90%电商玩家都受用
  11. 百度浏览器,一款简单轻快绿色纯净的浏览器
  12. 智能家居竞品分析:米家/HomeKit/美居/涂鸦智能的体验与思考
  13. windows 安全删除硬件并弹出媒体 选项灰色、无法弹出、无弹出选项
  14. QT - 小型翻车现场
  15. esp8266接7735_ESP8266 TFT(ST7735)彩屏-web刷图
  16. 康耐视Visionpro-3D Tools 总览
  17. MySQL服务无法启动咋办?
  18. Jacoco代码覆盖率报告详解
  19. js版梅森旋转生成随机数
  20. 【操作系统】操作系统在计算机中扮演的角色

热门文章

  1. 【C++】细说C语言头文件的路径
  2. 「完结撒花」使用intel realsense D435i深度相机获取信息,DOBOT MG400机械手实现动态实时抓取,并做了个GUI界面(python实现)
  3. 杭电acm2054java,杭电oj 2054
  4. 人机交互新潮流,设计师告诉你VUI是什么样的职业
  5. winsty: 我的PhD总结
  6. 苹果Ad_Hoc添加新设备UUID详解
  7. emule 多线程下载
  8. 浅谈执行力文化(zt)
  9. 记今年阿里巴巴招聘的几个失误
  10. Vue从浅显程度理解(三)-----Vue生命周期