历史上的今天
今天是:2025年08月18日(星期一)
2020年08月18日 | 【STM32】HAL库 STM32CubeMX教程七---PWM输出(呼吸灯)
2020-08-18 来源:eefocus
前言:
本系列教程将 对应外设原理,HAL库与STM32CubeMX结合在一起讲解,使您可以更快速的学会各个模块的使用
所用工具:
1、芯片: STM32F407ZET6/ STM32F103ZET6
2、STM32CubeMx软件
3、IDE: MDK-Keil软件
4、STM32F1xx/STM32F4xxHAL库
知识概括:
通过本篇博客您将学到:
PWM工作原理
STM32CubeMX创建PWM例程
HAL库定时器PWM函数库
PWM创建呼吸灯
《【STM32】系统时钟RCC详解(超详细,超全面)》
4项目文件设置

1 设置项目名称
2 设置存储路径
3 选择所用IDE

5创建工程文件
然后点击GENERATE CODE 创建工程
配置下载工具
新建的工程所有配置都是默认的 我们需要自行选择下载模式,勾选上下载后复位运行
例程详解:
这里我们创建一个呼吸灯的例程
定义变量:
/* USER CODE BEGIN 1 */
uint16_t pwmVal=0; //PWM占空比
uint8_t dir=1;
/* USER CODE END 1 */
然后使能TIM3的PWM Channel1 输出。
/* USER CODE BEGIN 2 */
HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_1);
/* USER CODE END 2 */
在while循环中添加代码:
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
while (pwmVal< 500)
{
pwmVal++;
__HAL_TIM_SetCompare(&htim3, TIM_CHANNEL_1, pwmVal); //修改比较值,修改占空比
// TIM3->CCR1 = pwmVal; 与上方相同
HAL_Delay(1);
}
while (pwmVal)
{
pwmVal--;
__HAL_TIM_SetCompare(&htim3, TIM_CHANNEL_1, pwmVal); //修改比较值,修改占空比
// TIM3->CCR1 = pwmVal; 与上方相同
HAL_Delay(1);
}
HAL_Delay(200);
/* USER CODE END 3 */
}

或者直接修改CCRx寄存器的值
htim3.Instance->CCR1 = 300;
通过 htim3.Instance->即可访问与定时器相关寄存器
史海拾趣
|
我通过tools-》autoplacement 然后选统计布局,其他默认,结果等他布局完后大部分元件还在pcb板子外面,keepoutlayer我也有(粉紫色线),究竟啥原因哩,而且有的元件焊盘位置还变了!! autoplace需要选中automatic pcb update吗 ...… 查看全部问答> |
|
我在写bootloader,在串口这遇到点麻烦,各位大牛给点意见 我将bootloader分为两个阶段,现在第一阶段差不多完成了,就差实现从串口烧录第二阶段到flash的功能 思路是这样的,在kermit下send boot_sencond.bin,我想问下,在发送完后,boot_sencon ...… 查看全部问答> |
|
在Xilinx Spartan-6 LX9在使用lwip时,我对AvtS6LX9MicroBoard_SW201_LwIP_Apps_13_1_01\\memfs目录下的index.html文件进行修改,在页面最低端添加一个链接网页,如图这个Test file网页内容和index.html内容一样,经过打包下载到AvtS6LX9MicroBoard ...… 查看全部问答> |
|
这是我根据C8051F120 的PDF资料写的FLASH读和写的程序,但是就是读不对,还把原来程序的内容给覆盖掉了: ////////////FLASH读写操作调试程序///////////////// #include \"flash.h\"#include \"c8051f120.h\" //#define LEN 5sfr1 ...… 查看全部问答> |
|
本帖最后由 paulhyde 于 2014-9-15 03:36 编辑 大家对于这个题都打算用什么电机呢? 听到好多直流伺服电机 但是没有了解过 求大婶们进来讨论下选型推荐~~ … 查看全部问答> |
|
主控:LPC1788 NADFLSH:是来自三星的:K9F1G08UOC,128M 文件系统是使用:yaffs文件系统 YAFFS是第一个专门为NAND Flash存储器设计的嵌入式文件系统,适用于大容量的存储设备。是基于日志的文件系统,提供磨损平衡和掉电 ...… 查看全部问答> |





