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

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, 下载次数: 710)
收藏 3 评论30 发布时间:2015-2-1 12:38

举报

30个回答
星辰一方 回答时间: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少多了!
颩色四葉愺 回答时间:2015-2-1 15:56:00
大秦正声 发表于 2015-2-1 13:40
谢谢!官方的f4例程比f0少多了!

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

对不起,网络不好!
sting 回答时间:2015-2-1 20:13:30
谢谢
lkl0305 回答时间:2015-2-1 21:45:33
多谢多谢
lkl0305 回答时间:2015-2-1 23:09:43
多谢多谢
1234下一页

所属标签

STM32团队

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


最新内容

相似技术帖

官网相关资源

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