STM32点亮闪烁LED灯

发布者:知识智慧最新更新时间:2024-08-15 来源: cnblogs关键字:STM32  LED灯 手机看文章 扫描二维码
随时随地手机看文章

 1/*本程序实现STM开发板上LED灯红绿蓝闪烁*/

 2 

 3 

 4 

 5 #include 'stm32f10x.h'   // 相当于51单片机中的  #include

 6 #include 'stm32f10x_gpio.h' 

 7 /*

 8     

 9     *由于STM32的GPIO工作模式有8种(输入4种+输出4种)

10     *在GPIO输出之前要先对要操作的GPIO进行配置

11     知识点:

12     一个结构体

13                     typedef struct//结构体

14                 {

15                     uint16_t GPIO_Pin; 

16                     GPIOSpeed_TypeDef GPIO_Speed;  

17                     GPIOMode_TypeDef GPIO_Mode;    

18                 }GPIO_InitTypeDef;

19     三个函数:

20     1、GPIO_Init(GPIOB,&GPIO_InitTypeDef);

21     2、GPIO_ResetBits(GPIOB,GPIO_Pin_5);  这里的意思是给端口5高电平

22     3、GPIO_SetBits(GPIOB,GPIO_Pin_5);   把GPIO引脚设置低电平(红LED灯亮)

23     */

24     

25 //驱动程序:GPIO初始化设置

26 int led_gpio_init_()

27 {    

28     GPIO_InitTypeDef GPIO_InitTypeDef;//定义一个结构体变量

29     

30     /*使能GPIO的rcc时钟*/

31     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);

32     

33     /*配置GPIO引脚*/

34     GPIO_InitTypeDef.GPIO_Pin = GPIO_Pin_5|GPIO_Pin_0|GPIO_Pin_1;//使用操作符可以一次使用多个引脚,端口0是绿色  1是蓝色    5是红色

35     GPIO_InitTypeDef.GPIO_Speed  = GPIO_Speed_50MHz;//设置输出速率50MHz

36     GPIO_InitTypeDef.GPIO_Mode = GPIO_Mode_Out_PP;//推挽输出

37     /*初始化*/

38     GPIO_Init(GPIOB,&GPIO_InitTypeDef);//参数一选择GPIO外设(ABCDE)参数二指向GPIO_InitTypeDef的指针

39 }

40 

41 //延时函数

42 void delay()

43 {

44  int i = 10000000;

45     while(i--);

46 }

47 

48 //主函数

49 int main(void)

50 {

51     led_gpio_init_();//调用GIPO初始化函数

52     

53     /*循环给高低电平实现闪烁*/

54     while(1)

55     {

56         GPIO_ResetBits(GPIOB,GPIO_Pin_5);

57         delay();

58         GPIO_SetBits(GPIOB,GPIO_Pin_5);

59         delay();

60         

61         GPIO_ResetBits(GPIOB,GPIO_Pin_0);

62         delay();

63         GPIO_SetBits(GPIOB,GPIO_Pin_0);

64         delay();

65         

66         GPIO_ResetBits(GPIOB,GPIO_Pin_1);

67         delay();

68         GPIO_SetBits(GPIOB,GPIO_Pin_1);

69         delay();

70     }

71 }


下面赋三个上面用到的函数,原处截图,出之STM32f10固件库使用手册中文版手册(这是个好东西,要懂得利用!!!以后开发都是根据这个来编程写函数的)

 

 

 

 

最后要烧到开发板的,烧程序的软件过程

 

 


关键字:STM32  LED灯 引用地址:STM32点亮闪烁LED灯

上一篇:Keil STM32调试,使用ST-Link下载程序时提示“flash timeout.reset the target and try it again”
下一篇:STM新建项目

推荐阅读最新更新时间:2024-11-17 01:15

STM32学习之时钟
STM32学习----时钟 收藏 在STM32中,有五个时钟源,为HSI、HSE、LSI、LSE、PLL。 ①、HSI是高速内部时钟,RC振荡器,频率为8MHz。 ②、HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。 ③、LSI是低速内部时钟,RC振荡器,频率为40kHz。 ④、LSE是低速外部时钟,接频率为32.768kHz的石英晶体。 ⑤、PLL为锁相环倍频输出,其时钟输入源可选择为HSI/2、HSE或者HSE/2。倍频可选择为2~16倍,但是其输出频率最大不得超过72MHz。 其中40kHz的LSI供独立看门狗IWDG使用,另外它还可以被选择为实时时钟
[单片机]
基于STM32的TM1629的驱动代码
某年写个番禺龙美游戏机IO板用到了STM32F103VBT6及TM1629.写下了一个驱动程序。希望能帮助到有需要的朋友。不多说了,代码如下: #ifdef GAME #include stm32f10x.h #include stdio.h //TM1629片选 //STB #define TM1629_STB GPIOC #define TM1629_CSA GPIOC, GPIO_Pin_0 #define TM1629_CSB GPIOC, GPIO_Pin_1 #define TM1629_CSC GPIOC, GPIO_Pin_2 #define TM1629_CSD GPIOC, GPIO_Pin_3 //TM1
[单片机]
STM32的Code/RO/RW/ZI区、Flash/Ram的占用情况、堆栈大小的设置
以cortex-M3为例,例如STM32F103 这篇文章要讲2个问题: 1、编译出的程序(指令)、变量的存放位置、大小? 2、在代码和keil中,“堆、栈”两者的大小如何设置? keil编译完成后,会有提示,形如: Program Size: Code=1148 RO-data=424 RW-data=20 ZI-data=1636 其中: ① Code为代码,本质上就是一大堆ARM指令; ② RO为只读的数据,例如,char *name = TOM ;//TOM三个字符就存放在ROM中作为RO-DATA;又如,为了减小sin的计算量,把sin的各个值直接制作成表,const float sinVal =
[单片机]
<font color='red'>STM32</font>的Code/RO/RW/ZI区、Flash/Ram的占用情况、堆栈大小的设置
STM32 Cubemax(十一) ——JY901陀螺仪数据的读取与简单数据处理
前言 JY901是维特公司出品的9轴陀螺仪,个人在使用上感觉是十分不错的,他们家的产品都可以使用串口或者IIC来进行数据读取。且内部自带滤波效果,不需要对其数据进行处理,就可以直接使用。 如果买了他们家产品,应该都有他们家的上位机,这里就不给出链接了,如果有需要私聊。 JY901简单介绍 JY901这款陀螺仪,每次发送出来的数据,可以在上位机中查看,且可以在上位机中选择需要发送出来的数据。 我们分析原始数据或者看手册都可以知道,JY901每次发送出来的数据都是11位的,其中第一位位帧头,第二位为判断属于的类型。 一、上位机调试 我们在第一次使用时,记得将陀螺仪水平,然后点击加计校准,来校准陀螺仪。 我们在上位机
[单片机]
<font color='red'>STM32</font> Cubemax(十一) ——JY901陀螺仪数据的读取与简单数据处理
基于STM32的智能加油系统设计方案
毕设介绍 针对当前汽车加油需求的日益增多,基于STM32开发技术和传感器技术开发一款智能加油系统。 题目要求 智能加油系统应具备油量控制、根据油费计价、加油环境检测的功能。该系统能模拟汽车加油的全过程,并具备远程控制功能。 题目分析 本次毕业设计是智能加油系统的设计与实现,设计所包含的模块主要有oled显示电路、电磁阀驱动电路、可燃气体传感器模块、ds18b20数字温度传感器、蜂鸣器报警模块、WIFI模块、按键电路模块及电源模块。 通过模块之间的配合实现智能加油系统,一旦有温度异常或可燃气体浓度超标将会通过wifi模块对管理人员发出警告。 stm32f103c8t6实时采集ds18b20温度传感器获取温度,如果温度
[单片机]
基于<font color='red'>STM32</font>的智能加油系统设计方案
ST STM32Cube™工具将支持STM32 F2
中国,2014年4月14日 ——意法半导体发布新款STM32Cube™开发平台中间件,让开发人员可以在该开发平台上开发STM32 F2 120MHz ARM® Cortex®-M3微控制器应用。STM32Cube目前可支持STM32 F2和F4系列产品,预计今年还将推出新的版本,将支持范围扩大到STM32全系列产品。 新的中间件与STM32Cube平台的通用低层驱动程序和硬件抽象层(HAL,硬體抽象層(HAL,Hardware Abstraction Layer)配合使用,提供一套可直接使用的自动升级的软件组件库,以简化应用开发任务,解决版本问题和依赖性问题。硬件抽象层HAL可简化代码移植过程,协助设计人员为每个应
[单片机]
ST STM32Cube™工具将支持<font color='red'>STM32</font> F2
带你走进STM32
简介:使用MDK KeiluVision4进行学习,照着前面几个历程进行学习,看懂几个历程后想自己也照着搞搞,开始有些错误经调试后都解决了,但是在其他问题都解决后, 使用MDK KeiluVision4进行学习,照着前面几个历程进行学习,看懂几个历程后想自己也照着搞搞,开始有些错误经调试后都解决了,但是在其他问题都解决后,编译就出现了More More than one section matches selector - cannot all be FIRST/LAST这个错误,还提示啥包涵了一个错误的路径,本人各种检查路径,和历程的都一样了,可这个问题还没解决,当然后来发现这个不是路径的问题,上网找了好久,终于发现了,在历
[单片机]
论LED光源 成为投影救世主的6大原因
  20世纪的发明最多,即使说是20世纪最伟大的发明之一也不为过。相对于油灯、白炽灯而言, LED光源 被称之为第三代光源。LED光源有哪些优势? 投影机 为啥要使用 LED 技术?    LED光源   LED技术应用范围非常广泛,最常接触的有LED投影机、 LED电视 和 LED显示 器。确切的说,应称之为LED光源投影机、 LED背光 电视和LED背光 显示 器。 三色LED 投影 结构    LED背光 LCD 结构   现阶段,几乎所有领域都可以应用LED技术:a,LED显示技术——LED拼接墙;b,LED背光应用——LED投影机、LED背光的 平板电视 ;c, LED照明 应
[电源管理]
论LED光源 成为投影救世主的6大原因
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved