你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F411【Nucleo】第七课--定时器(基于keil5.15)

[复制链接]
颩色四葉愺 发布时间:2015-8-20 23:24
好久没来论坛逛了,一直在忙着智能车和企业项目,智能车只拿了华南赛二等无缘国赛,企业的项目也即将结束,我也该来更新更新论坛帖子了
这块板子的定时器也很容易配置   这里我就用定时器让板载的LED灯闪烁吧!

(1)建立工程,新建工程的步骤就不说了!请参考我之前的帖子:
STM32F411【Nucleo】第一课--新建工程(基于keil 5.13)
(2)led配置就不讲了,参考我以前写的点亮led的帖子:
STM32F411【Nucleo】第二课--led灯(基于keil5.13)
(3)新建bsp_time.c和bsp_time.h
bsp_time.c文件如下:
  1. #include "bsp_time.h"
  2. /*
  3. *****************
  4. 通用定时器3初始化
  5. arr:自动重装值
  6. psc:时钟预分频数
  7. 定时器溢出时间计算方法:Tout=((arr+1)*(psc+1))/Ft us
  8. Ft:定时器工作频率,单位MHz
  9. *****************
  10. */
  11. void TIM3_Init(u16 arr,u16 psc)
  12. {
  13.         TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;
  14.         NVIC_InitTypeDef NVIC_InitStructure;
  15.         RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);//使能TIM3时钟
  16.        
  17.         TIM_TimeBaseInitStructure.TIM_Period=arr;//自动重装载值
  18.         TIM_TimeBaseInitStructure.TIM_Prescaler=psc;//定时器分频
  19.         TIM_TimeBaseInitStructure.TIM_CounterMode=TIM_CounterMode_Up;//向上计数模式
  20.         TIM_TimeBaseInitStructure.TIM_ClockDivision=TIM_CKD_DIV1;
  21.        
  22.         TIM_TimeBaseInit(TIM3,&TIM_TimeBaseInitStructure);//初始化定时器3
  23.        
  24.         TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE);//允许定时器3更新中断
  25.        
  26.         NVIC_InitStructure.NVIC_IRQChannel=TIM3_IRQn;//定时器3中断
  27.         NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0x01;//抢占优先级1
  28.         NVIC_InitStructure.NVIC_IRQChannelSubPriority=0x02;//子优先级3
  29.         NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
  30.         NVIC_Init(&NVIC_InitStructure);//初始化NVIC
  31.        
  32.         TIM_Cmd(TIM3,ENABLE);//使能定时器3
  33. }
复制代码
bsp_time.h文件如下:
  1. #ifndef _BSP_TIME_H_
  2. #define _BSP_TIME_H_

  3. #include "stm32f4xx.h"
  4. void TIM3_Init(u16 arr,u16 psc);

  5. #endif
复制代码
中断处理文件添加以下代码:
  1. void TIM3_IRQHandler(void)
  2. {
  3.         if(TIM_GetITStatus(TIM3,TIM_IT_Update)==SET)
  4.         {
  5.                 LED_TOGGLE;
  6.         }
  7.         TIM_ClearITPendingBit(TIM3,TIM_IT_Update);
  8. }
复制代码

main函数:
  1. #include "stm32f4xx.h"
  2. #include "bsp_time.h"
  3. #include "bsp_led.h"
  4. int main(void)
  5. {
  6.         LED_GPIO_Config();
  7.         TIM3_Init(9999,9999);
  8.         while (1)
  9.         {
  10.         }
  11. }

  12. /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
复制代码
编译下载后,led灯每隔一秒闪烁一次

源码 7.定时器.rar (6.51 MB, 下载次数: 192)
收藏 2 评论7 发布时间:2015-8-20 23:24

举报

7个回答
颩色四葉愺 回答时间:2015-8-20 23:31:46
打个小广告,希望管理员理解 QQ截图20150820232752.png
有兴趣一起组队么,我有一个项目,希望找些志同道合的人,毕竟大家都是玩STM的,有兴趣的发短信给我呗或者加我QQ QQ:907304747
chendiand 回答时间:2015-8-21 12:11:56
赞一个
netlhx 回答时间:2015-8-21 20:23:22
二等奖也不错了,
kingming 回答时间:2017-2-15 16:26:18
定时器工作频率如何看呢,楼主
颩色四葉愺 回答时间:2017-2-20 20:24:54
kingming 发表于 2017-2-15 16:26
定时器工作频率如何看呢,楼主

用示波器看
日天男 回答时间:2017-2-20 21:03:31
楼主是哪里的啊
huaimaoatangge 回答时间:2018-9-3 13:35:23
请问楼主,F411的资料网上有卖的么?

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

相似分享

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版