|
本帖最后由 hjl240 于 2015-2-4 10:09 编辑 此次用到STM32F411RENucleo开发板,用到Keil MDK5.12和STM32CubeMx软件。 首先用STM32CubeMx软件配置定时器PWM模式与按键输入IO口。
图1 PWM配置
图2 按键IO口配置 然后生成Keil工程。 用Keil打开。 首先修改有关PWM方面的代码。 PWM初始化代码如下:
查看头文件stm32f4xx_hal_tim.h,可以知道定时器初始化参数的含义如下:
与
从头文件中可以看出,要想简单配置PWM很简单,只要改变PWM周期的值与脉冲值就好。 比如将改变一下两个语句: htim10.Init.Period = 1000; sConfigOC.Pulse = 200; 便将PWM配置为周期为1000个定时器周期,高电平持续时间为200个定时器时钟周期,占空比为200/1000=20%。 要想用按键控制PWM占空比,我们只需要修改一下PWM初始化函数,修改如下:
修改此函数之后,前面的函数声明也要改。改为:static void MX_TIM10_Init(int period,intpulse); 要想PWM工作,需要启动PWM。查看头文件stm32f4xx_hal_tim.h,可以看到如下函数:
这是PWM启动与停止的函数。 最后看看按键,只需要把按键配置为上拉模式就好。 在按键初始化中,将 GPIO_InitStruct.Pull= GPIO_NOPULL; 改为 GPIO_InitStruct.Pull= GPIO_PULLUP; 接下来便可以写主函数。
编译程序,下载程序,可以看到现象:
参考代码:
PWMChangeTest.zip
(4.25 MB, 下载次数: 2463)
|
STM32
超强工具——STM32CubeMX 你会用吗?
集结出发! STM32全国研讨会系列之一:ST智能门铃中国首秀
关于STM32启动文件的几个小问题
【银杏科技ARM+FPGA双核心应用】STM32H7系列35——USB_VCP_FS
【银杏科技ARM+FPGA双核心应用】STM32H7系列28——USB_HID
粉丝分享 | 图说CRC原理应用及STM32硬件CRC外设
STM32L151进入低功耗,并由RTC唤醒的故事
[转]stm32控制NFC模块(PN532)源码(P2P,模拟卡,读写卡等
STM32G070RB+LVGL移植
微信公众号
手机版
有的,,可以更新一下软件包
我已经弄好了 可是固件库怎么加载啊?我百度了下说keil自带的固件库,可是找半天411的只有这些,请问你是怎么添加固件库的?难道是手动复制到文件夹里?
我是用STM32CubeMX软件直接生产的Keil工程,简单又方便,不用自己添加其他文件,,,,你可以试试用STM32CubeMX软件
多用几次就习惯了