STM32Cube-按键控制LED

发布者:legend9最新更新时间:2019-04-11 来源: eefocus关键字:STM32Cube  按键控制  LED 手机看文章 扫描二维码
随时随地手机看文章

STM32Cube 是一个全面的软件平台,包括了ST产品的每个系列。平台包括了STM32Cube 硬件抽象层(一个STM32抽象层嵌入式软件,确保在STM32系列最大化的便携性)和一套的中间件组件(RTOS, USB, FatFs, TCP/IP,  Graphics, 等等).


直观的STM32微控制器的选择和时钟树配置


微控制器图形化配置外围设备和中间件的功能模式和初始化参数


C代码生成项目覆盖STM32微控制器的初始化符合IAR™,Keil的™和GCC编译器。


对于新的产品设计,我们强烈推荐使用STM32Cube来加速你的开发过程,并为以后的产品平台移植打下良好的基础。


关于HAL库API的使用方法可以到ST官网下载:https://www.stmcu.com.cn/Index/search?search_keywords=UM1725

1.新建工程

打开STM32cubeMX软件,点击New Project。选择对应开板MCU(STM32F103ZET6)。

 


选择工程后进入工程界面,如下图所示。



2.  配置外设。


 


RCC设置,选择HSE(外部高速时钟)为Crystal/Ceramic Resonator(晶振/陶瓷谐振器)

GPIO口功能选择,PB5、PE5为LED2、LED3.找到对应管脚设置为GPIO_Output模式。(黄色引脚为该功能的GPIO已被用作其他功能,可以忽略。绿色表示管脚已使用)

PA0、PE2、PE3、PE4为按键输入管脚,选择GPIO_OUTPUT模式。


 


3. 时钟配置

       时钟配置采用图形配置,直观简单。各个外设时钟一目了然。STM32最高时钟为72M,此处只有在HCLK处输入72,软件即可自动配置。(RCC选择外部高速时钟)。

有关配置讲解:http://blog.sina.com.cn/s/blog_554240170102vu80.html



4.功能外设配置


 


在配置框我们可以看到有几个区域,分别对应的功能设置如下

• Multimedia(多媒体):音频视频、LCD

• Control(控制):定时器

• Analog(模拟):DAC、ADC

• Connectivity(通讯连接):串口、SPI 、I2C、USB、ETH

• SYStem(系统):DMA(直接存储器存取)、GPIO、NVIC、RCC、看门狗

• middlewares(中间件): FreeRTOS、FATFS、LwIP、USB

此工程中DMA没用的不用配置,NVIC(嵌套中断向量控制器(Nested Vectored Interrupt Controller))配置中断优先级。RCC不用配置。



• GPIO Pin Level (管脚状态):高电平

• GPIO mode (管脚模式 ):推挽输出

• Maximum output speed (最大输出速度):高速

• User Label (用户标签):LED2(自定义)

更改用户标签,管脚配置图会显示管脚的标签。


 


4.  功耗计算

这个根据配置的外设计算功耗,不用理会。


 


5. 生成工程报告

点击Project –>Generate Reports或者点击快捷图标生成报告。系统会提示先创建一个工程项目。点击Yes设置工程。


 


输入工程名,选择工程路径(注意不要出现中文,否则可能出错)。工具链/IDE选择MDK-ARM V5。最后面可以设置堆栈大小,此处默认不作修改。


 


在Code Generator中找到Generated files框,勾选Generated periphera initialization as a pair of '.c/.h' files per IP。外设初始化为独立的C文件和头文件。


 


点击生成报告,工程目录下会生成txt文件和pdf文件,里面记录了我们刚才的设置。

6.   生成工程代码

点击Project –>Generate Code或者点击快捷图标生成工程代码。


 


点击Open Project打开工程。到此就配置好工程外设初始化。

 


7.   添加应用程序

在gpio.c文件中可以看到LED和KEY管脚的初始化函数。

 


在stm32f1xx_hal_gpio.h头文件中可以看到GPIO的操作函数。


 


①     在main函数中的while循环中添加LED流水灯效果的应用程序,按键待会


 


了解固件库函数命名方法编写就很容易了,

一般是:HAL_[外设名]_[功能名]

HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5,GPIO_PIN_RESET);    

这个就是写管脚函数,就是设置管脚是0还是1;

HAL_Delay(1000);

    这是固件库里面的一个延时,用到的是滴答时钟;

至于程序下载就不说了。


②    按键讲解

在gpio.c文件中最后面的USER CODE BEGIN 2和USER CODE END 2中间添加如下四个函数。

(用户代码要加在USER CODE BEGIN N和USER CODE END N之间,否则下次重新生成代码后,会被删除)


 


上面添加了四个函数;


 


在main.c文件中的main函数的while循环中添加应用代码。代码中使用switch case语句。


 


再次编译程序;

总结:STM32Cube提供了固件库,用户可直接调用固件库函数来开发,并且可以很好的实现STM32-MCU全系列的代码一致性。同时STM32CubeMX工具提供的可视化引脚、外设、时钟等配置功能,可以帮助快速完成工程的建立、初始化。大大降低了开发者的工作量。

关键字:STM32Cube  按键控制  LED 引用地址:STM32Cube-按键控制LED

上一篇:总结写的stm32的KEY控制LED
下一篇:STM32的SPI使用注意

推荐阅读最新更新时间:2024-03-16 16:27

LED显示屏质量的决定因素
作为LED领域专业性产业研究机构,高工LED产业研究院日前发布分析报告称,2012年国内LED行业总产值预计将从2011年的1540亿元增至2059亿元。近年来,led显示屏在国内广告传媒市场盛行,2012年春晚由LED显示屏打造出如梦如幻,变化莫测的舞台效果向全世界展示了一张最好的宣传名片,让我们感受到LED显示屏给生活带来的奇妙变化。2012年,led显示屏行业都进入白热化阶段,大部分厂家都在遵循市场规律,特别是付款方式,2010年底以前基本上的付款方式都是预付款30%,货到当地货运公司或者是工厂交货付款70%;也有一部分是货到当地货运公司或者是工厂交货付款67%或者是68%,余款作为质保金这样的付款方式。随着led显示屏行业
[电源管理]
太阳能LED灯具发展分析
基于对 低碳 能源现状的思索以及受攀枝花本地 太阳能 资源丰富的启发而产生。以阳光城市攀枝花为例简要叙述太阳能的使用情况,旨在提出使用低碳能源问题上存在的诸多问题。 灯具目前世界各国都积极的开发各种 新能源 和各种节能技术,如风能、混合燃料、乙醇、太阳能、氢能源、海浪能发电、地下能源、垃圾燃气等等。原国家主席江泽民退任后也在《对中国能源问题的思考》一文中提出希望国家层面加大对核能、风能、太阳能等诸多新兴能源领域的重视和投入。 1 我国太阳能资源分布情况 根据国际电力网提供的数据 显示 ,从全国太阳年辐射总量的分布来看,西藏、青海、新疆、内蒙古南部、山西、陕西北部、河北、山东、辽宁、吉林西部、云南中部和西南部、
[电源管理]
背光模组量产 海鲸完成LED产业链布局
2010年海鲸要做好三件事 ●TV整机:树一面鲜明的旗帜,以海鲸TV整机来整体打造海鲸品牌的高度和深度 。 ●LED背光模组:为LED背光电视打包服务,整合海鲸光电上游资源优势,为整机厂家做好服务。 ●LED芯片:做强做大LED芯片,为下游海鲸LED照明和LED液晶模组提供优势资源。 海鲸光电为之耕耘、奋斗一年之久的LED芯片及LED液晶背光模组近日全线量产。“我为海鲸年轻的富于创新的团队所创造的成绩感到自豪和骄傲。我们的LED芯片及背光模组生产线能在短短一年之内达产,并在业内赢得良好的声誉,我对海鲸的未来充满信心,对团队的辛勤付出心存感激。”杭州海鲸光电科技有限公司总经
[电源管理]
背光模组量产 海鲸完成<font color='red'>LED</font>产业链布局
51单片机程序——按键控制数码管变化
#include reg52.h #define uint unsigned int #define uchar unsigned char #define dula P0 #define wela P1 sbit key=P3^2; unsigned char code DuanMa ={0xff,0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83, 0xa7,0xa1,0x86,0x8e}; uchar num; void delay(uint z
[单片机]
Micro LED面板功耗仅为OLED 10%
    苹果iPhone未来有没有可能数天不用充电?据了解,若Micro LED和可弯曲燃料电池技术成熟,加上5奈米制程若到位,未来移动设备数天免充电,有可能实现。日前外媒报导,未来移动设备是否能实现数天不用充电的目标,这要看Micro LED显示技术和可弯曲燃料电池(flexible fuel cells)何时能够成熟。      OLED拥有液晶所无法比拟的结构优势   报导指出,若这两项技术成熟并整合一套解决方案,可大幅降低移动设备的电力消耗。Micro LED面板的功率消耗量仅为有机发光二极管(OLED)面板的10%,省电效果相当显著,若苹果未来Apple Watch或是iPhone产品采用Micro LED面板,可较
[手机便携]
LED显示屏模组偏色解决技术
首先了解导致LED显示模组偏色的主要原因:   1,LED灯的问题:(包括晶片参数不一致,封装胶水材质缺陷,固晶时位置误差,分光分色时的误差等因素),会影响同批次的LED灯的发光波长,亮度及角度。所以,生产LED电子显示屏有一个非常重要的工序:混灯。把所有同色的LED灯混均匀后,再插在PCB上。这样做的好处是可以避免LED模组局部偏色。   2,生产工艺:LED模组过完波峰焊后,LED位置已固定,这时就不应该再去动它。但很多公司因为不具备保护条件,经常会在测试,修理,焊排针排母,老化和转移各工序的过程中碰撞,碰弯了LED灯。然后在灌胶前进行所谓的整行,这样的容易导致LED屏上的灯无规则的东倒西歪,从而导致模组偏色。   4,
[电源管理]
初级单片机流水灯程序
----- 主程序开始 ----- START: CLR   P1.0       ;P1.0输出低电平,使LED1点亮     ACALL  DELAY      ;调用延时子程序     SETB  P1.0       ;P1.0输出高电平,使LED1熄灭     CLR   P1.1       ;P1.1输出低电平,使LED2点亮     ACALL  DELAY      ;调用延时子程序     SETB  P1.1       ;P1.1输出高电平,使LED2熄灭     CLR   P1.2       ;P1.2输出低电平,使LED3点亮     ACALL  DELAY      ;调用延时子程序    
[单片机]
初级单片机流水灯程序
Global Lighting推出单LED照明器件
Global Lighting Technologies公司日前推出的一系列密封光导产品,使用该产品只采用单个LED来实现背光照明,很好的降低了背光模块的成本。 这种光导产品采用该公司的MicroLens专利技术。该MicroLens背光照明器件的对角尺寸从0.24英寸到15.4英寸,可提供单个LED单色、双色和三色背光照明。其应用领域包括数码相机、数码摄像机、蜂窝电话、PDA键盘、可编程触摸屏热敏元件、控制显示器、汽车内部显示器和桌面显示器等。 MicroLens基于像素的光线抽取技术可实现完全集成的背光照明模块,并且具有较高的亮度、明亮的色彩、超薄的外形(可达0.60mm或更薄)、较好的均匀度(平均可达约80-85%)、较
[新品]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved