[蓝桥杯嵌入式]hal库 stm32 PWM的使用(随时修改占空比,随时修改频率)

简介: [蓝桥杯嵌入式]hal库 stm32 PWM的使用(随时修改占空比,随时修改频率)

正文

设置RCC

设置高速外部时钟HSE 选择外部时钟源

时钟源设置(80MHZ)

省时间可以直接到图中部分输入对应的频率,然后会询问你需不需要自动配置,回车就行

项目文件设置

关键配置:

如下是定时器配置

设置时钟源为内部时钟

启动定时器2的通道2的PWM输出模式

(虽然输出比较模式也能输出可变的PWM,但是需要利用中断,会加大代码复杂度)

将分频值设置为800(最好是800-1),自动重装值为100(最好是100-1)

打开自动重装载使能,否认修改频率或者占空比时可能出现pwm输出停滞一小段的情况

比较值设置为20

这里主频是80Mhz,所以

PWM频率就是80 000 000 / 800 / 100 = 1000HZ

占空比为:20/100 = 20%;

生成代码好后往下看

关键函数:

__HAL_TIM_DIRECTION_STATUS  
__HAL_TIM_PRESCALER         
__HAL_TIM_SetCounter     
__HAL_TIM_GetCounter        
__HAL_TIM_SetAutoreload   
__HAL_TIM_GetAutoreload     
__HAL_TIM_SetClockDivision  
__HAL_TIM_GetClockDivision  
__HAL_TIM_SetICPrescaler    
__HAL_TIM_GetICPrescaler    
__HAL_TIM_SetCompare        
__HAL_TIM_GetCompare
__HAL_TIM_PRESCALER         :修改预分频值
__HAL_TIM_SetAutoreload        :修改自动重装载值
__HAL_TIM_SetCompare        :修改比较值

示范使用:

打开PWM

打开定时器二的通道二的使能

使得PWM按照上面的预设参数输出PWM

HAL_TIM_PWM_Start(&htim2,TIM_CHANNEL_2);

参数对应:定时器2,通道2

修改PWM占空比

计算机网络

  • HTTP 缓存
  • 你知道 302 状态码是什么嘛?你平时浏览网页的过程中遇到过哪些 302 的场景?
  • HTTP 常用的请求方式,区别和用途?
  • HTTPS 是什么?具体流程
  • 三次握手和四次挥手
  • 你对 TCP 滑动窗口有了解嘛?
  • WebSocket与Ajax的区别
  • 了解 WebSocket 嘛?
  • HTTP 如何实现长连接?在什么时候会超时?
  • TCP 如何保证有效传输及拥塞控制原理。
  • TCP 协议怎么保证可靠的,UDP 为什么不可靠?

算法

  • 链表
  • 字符串
  • 数组问题
  • 二叉树
  • 排序算法
  • 二分查找
  • 动态规划
  • BFS

  • DFS
  • 回溯算法


相关文章
|
6月前
使用STM32F103标准库实现定时器控制LED点亮和关闭
通过这篇博客,我们学习了如何使用STM32F103标准库,通过定时器来控制LED的点亮和关闭。我们配置了定时器中断,并在中断处理函数中实现了LED状态的切换。这是一个基础且实用的例子,适合初学者了解STM32定时器和中断的使用。 希望这篇博客对你有所帮助。如果有任何问题或建议,欢迎在评论区留言。
466 2
|
5月前
stm32f407探索者开发板(十七)——串口寄存器库函数配置方法
stm32f407探索者开发板(十七)——串口寄存器库函数配置方法
758 0
|
6月前
|
IDE 开发工具
使用STM32F103标准库实现自定义键盘
通过本文,我们学习了如何使用STM32F103标准库实现一个简单的自定义键盘。我们首先初始化了GPIO引脚,然后实现了一个扫描函数来检测按键状态。这个项目不仅能够帮助我们理解STM32的GPIO配置和按键扫描原理,还可以作为进一步学习中断处理和低功耗设计的基础。希望本文对你有所帮助,祝你在嵌入式开发的道路上不断进步!
529 4
|
6月前
|
传感器
【经典案例】STM32F407使用HAL库配置I2C详解
STM32F407是一个强大的微控制器,广泛应用于嵌入式系统中。在许多应用中,我们需要使用I2C总线来与传感器、EEPROM、显示屏等外设进行通信。本文将详细介绍如何使用STM32 HAL库来配置和使用I2C接口。
765 2
|
6月前
|
存储 数据采集 数据安全/隐私保护
使用STM32F103读取TF卡并模拟U盘:使用标准库实现
通过以上步骤,你可以实现用STM32F103将TF卡内容变成U盘进行读取。这种功能在数据采集、便携式存储设备等应用中非常有用。如果你有更多的需求,可以进一步扩展此项目,例如添加文件管理功能、加密存储等。希望这篇博客能帮到你,如果有任何问题,欢迎在评论区留言讨论!
256 1
|
6月前
|
开发者
【经典案例】使用HAL库配置STM32F407的SPI外设
在嵌入式系统开发中,STM32F407是一款广泛应用的微控制器,而SPI(Serial Peripheral Interface)是一种常用的通信接口。本文将详细介绍如何使用STM32的硬件抽象层(HAL)库配置STM32F407的SPI外设,并提供完整的代码示例。
619 1
|
6月前
|
Web App开发 传感器 Linux
【嵌入式软件工程师面经】STM32单片机
【嵌入式软件工程师面经】STM32单片机
161 1
|
5月前
|
传感器 编解码 API
【STM32开发入门】温湿度监测系统实战:SPI LCD显示、HAL库应用、GPIO配置、UART中断接收、ADC采集与串口通信全解析
SPI(Serial Peripheral Interface)是一种同步串行通信接口,常用于微控制器与外围设备间的数据传输。SPI LCD是指使用SPI接口与微控制器通信的液晶显示屏。这类LCD通常具有较少的引脚(通常4个:MISO、MOSI、SCK和SS),因此在引脚资源有限的系统中非常有用。通过SPI协议,微控制器可以向LCD发送命令和数据,控制显示内容和模式。
188 0
|
6月前
|
存储 数据安全/隐私保护 芯片
【STM32】详解嵌入式中FLASH闪存的特性和代码示例
【STM32】详解嵌入式中FLASH闪存的特性和代码示例
|
7月前
|
人工智能 算法 Java
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1005 数字游戏
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1005 数字游戏
110 0