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

STM32F411【Nucleo】第二课--led灯(基于keil5.13)  

[复制链接]
颩色四葉愺 发布时间:2015-2-1 12:38


(1)查看板子的原理图,板子上的led灯即led2接的是PA5.

(2)建立工程,新建工程的步骤就不说了!请参考我之前的帖子:
STM32F411【Nucleo】第一课--新建工程(基于keil 5.13)
(3)新建两个文件  分别为bsp_led.c    bsp_led.h 记得要把C文件加载到工程中,还有头文件路径要加上不然会出现编译出错的!代码如下:
bsp_led.c:
  1. #include "bsp_led.h"

  2. void LED_GPIO_Config(void)
  3. {
  4.         GPIO_InitTypeDef GPIO_InitStructure;
  5.         RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE);//使能LED灯IO时钟
  6.         GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;                                //选定引脚
  7.         GPIO_InitStructure.GPIO_Mode=GPIO_Mode_OUT;                        //设置为普通输出
  8.         GPIO_InitStructure.GPIO_Speed=GPIO_Speed_100MHz;        //输出频率为100MHz
  9.         GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_UP;                        //设置为上拉
  10.         GPIO_Init(GPIOA,&GPIO_InitStructure);
  11. }
复制代码
bsp_led.h
  1. #ifndef _BSP_LED_H_
  2. #define _BSP_LED_H_

  3. #include "stm32f4xx.h"

  4.                 /******************************
  5.                         板载led采用控制led阳极
  6.                 *******************************/
  7. #define ON 1
  8. #define OFF 0
  9.                        
  10. #define LED(a) if(a) \
  11.                                 GPIO_SetBits(GPIOA,GPIO_Pin_5);\
  12.                                 else \
  13.                                 GPIO_ResetBits(GPIOA,GPIO_Pin_5)
  14.                                
  15. void LED_GPIO_Config(void);
  16. #endif
复制代码

(4)修改main.c 代码如下:
  1. #include "stm32f4xx.h"
  2. #include "bsp_led.h"


  3. /**************粗略延时**************/
  4. void Delay(__IO uint32_t nCount)
  5. {
  6.                 while(nCount--){}
  7. }


  8. int main(void)
  9. {   
  10.   LED_GPIO_Config();//初始化LED灯IO口--PA5
  11.   while (1)
  12.   {
  13.           LED(ON);
  14.           Delay(0x7FFFFF);
  15.           LED(OFF);
  16.           Delay(0x7FFFFF);
  17.   }
  18. }

  19. /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
复制代码

下载到板子之后就能看到led灯一闪一闪的跑着了

还有系统时钟的话,我们可以不用配置,因为启动文件已经把系统时钟默认配置为100MHz了
  1. Reset_Handler    PROC
  2.                  EXPORT  Reset_Handler             [WEAK]
  3.         IMPORT  SystemInit
  4.         IMPORT  __main

  5.                  LDR     R0, =SystemInit
  6.                  BLX     R0
  7.                  LDR     R0, =__main
  8.                  BX      R0
  9.                  ENDP
复制代码
  1. #if defined (STM32F411xE)
  2.   uint32_t SystemCoreClock = 100000000;
  3. #endif /* STM32F401xx */
复制代码
附上代码源文件和原理图
2.LED灯测试.zip (8.54 MB, 下载次数: 762)
收藏 3 评论30 发布时间:2015-2-1 12:38

举报

30个回答
xuyi 回答时间:2015-6-25 21:31:19
你好楼主,请问你的这块板子的原理图是在官网下的吗,我怎么没找到,能不能发个链接给我让我知道下在哪里找,以后就知道了。谢谢
颩色四葉愺 回答时间:2015-2-1 15:56:00
大秦正声 发表于 2015-2-1 13:40
谢谢!官方的f4例程比f0少多了!

啥?为什么要回三次呢    等会管理员以为我灌水咋办
大秦正声 回答时间:2015-2-1 16:32:24
颩色四葉愺 发表于 2015-2-1 15:56
啥?为什么要回三次呢    等会管理员以为我灌水咋办

对不起,网络不好!
星辰一方 回答时间:2015-2-1 12:49:37
不错,感谢分享!
大秦正声 回答时间:2015-2-1 13:40:15
谢谢!官方的f4例程比f0少多了!
大秦正声 回答时间:2015-2-1 13:40:38
谢谢!官方的f4例程比f0少多了!
大秦正声 回答时间:2015-2-1 13:40:57
谢谢!官方的f4例程比f0少多了!
sting 回答时间:2015-2-1 20:13:30
谢谢
lkl0305 回答时间:2015-2-1 21:45:33
多谢多谢
lkl0305 回答时间:2015-2-1 23:09:43
多谢多谢
181wh 回答时间:2015-2-2 07:53:43
多谢多谢!!
拼命三郎 回答时间:2015-2-2 08:44:19
stm32.jpg
sirius65 回答时间:2015-2-2 09:12:51
跟着学习了。
wn1900 回答时间:2015-2-2 10:18:15
支持一下
化石翼龙 回答时间:2015-6-20 20:02:54
很好的帖子,最近正在用f411
123下一页
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版