Keil5新建工程

news/2024/11/29 3:57:36/

STM32新建工程

  • 1、基于寄存器、基于库函数、基于HAL
  • 2、基于标准库的工程
  • 3、工程架构
  • 4、基于库函数点灯实验

1、基于寄存器、基于库函数、基于HAL

1、基于寄存器:与51单片机开发案方式一样,是用程序直接配置寄存器,来达到我们想要的功能,这种方式最底层、最直接、效率更高一些,但是由于STM32的结构复杂、寄存器太多,所以基于寄存器的方式目前是不推荐的。
2、基于库函数:是使用ST官方提供封装好的函数,通过调用这些函数间接地配置寄存器。由于ST对寄存器封装的比较好,所以这种方式既能满足对寄存器的配置,对开发人员比较友好,有利于提高开发效率。推荐使用
3、基于HAL库:可以用图形化界面快速配置STM32,这个比较适合快速上手STM32的情况,但是这种方式隐藏了底层逻辑,如果对STM32不熟悉,基本只能停留在很浅的水平。可以熟悉基于库函数以后,熟悉基于HAL库方式,因为比较方便。

2、基于标准库的工程

固件库资源:https://pan.baidu.com/s/1fWaLxrYGIisNlBB2Rf4-1g 提取码 :oef1。提取密码:32
1、建立工程文件STM32Progect,Keil中新建工程,选择型号;
2、工程文件STM32Progect里建立Start、Library、User等文件,复制固件库里面的文件到工程文件;在创建的文件中添加固件库到start文件夹下
start文件夹

启动文件的选择:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3、工程里对应建立Start、Library、User等同名称的分组,然后将文件夹内的文件添加工程分组里
在这里插入图片描述
将固件库中的库函数源文件和头文件复制到工程里的Library中。
在这里插入图片描述
在User文件夹添加stm配置文件和中断文件
在这里插入图片描述
4、工程选项,C/C++,Include Paths内声明所有包含头文件的文件夹;
在这里插入图片描述
5、工程选项,C/C++,Define内定义USE_STDPERIPH_DRIVER
在这里插入图片描述

6、工程选项,Debug,下拉列表选择对应调试器,Settings,Flash Download里勾选Rset and Run。

3、工程架构

在这里插入图片描述
主动执行:首先是startup启动文件,这个是程序执行最基本的文件。启动文件是用汇编编写的,包括中断向量表,中断服务函数等。中断服务函数中有个复位中断,这就是整个程序的入口。当STM32上电复位或者按下复位键之后,程序就会进入复位中断函数执行。复位中断函数主要做了两件事情,第一,调用SystemInit函数;第二,调用main函数,对应启动文件的这里。其他中断也被定义,当符合条件后,会调用。
被动执行:
封装寄存器,更有利于程序的可读性。

4、基于库函数点灯实验

#include "stm32f10x.h"                  // Device headerint main(void)
{/*配置寄存器的方式进行点灯的操作,这种方式需要不断地查手册来了解每个寄存器每位是干什么的。不方便RCC->APB2ENR = 0x00000010;GPIOC->CRH = 0x00300000;GPIOC->ODR = 0x00000000;		//灯亮GPIOC->ODR = 0x00002000;*///基于库函数点灯//用来使能或者失能APB2的外设时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);//配置端口模式,第一个是选择哪个GPIO,第二个是参数的结构体GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOC,&GPIO_InitStructure);//设置高电平 GPIO13口为高电平GPIO_SetBits(GPIOC,GPIO_Pin_13);//设置低电平GPIO_ResetBits(GPIOC,GPIO_Pin_13);while(1){}
}

http://www.ppmy.cn/news/243792.html

相关文章

长虹 Watch FLY 智能手表 评测

该手表采用了传统手表外观设计,尺寸为 48mm,配有 1.45 英寸 412*412px 60Hz IPS 圆屏,可更换多种表盘;配有 260mAh 电池,续航达 14 天;支持蓝牙 5.2、IP68 防尘防水。 长虹 Watch FLY 智能手表搭载 240MHz …

pacewear android wear,Pacewear智能手表怎么样?Pacewear智能手表评测(2)

手表的表带用的是20mm宽度设计,氟橡胶材质,戴在手腕上很柔软,戴着手表跑步也不会觉得割手。不过有利有弊吧,这种柔软表带的感觉和表盘略显硬朗的设计看似有些不搭。 配置与连接 手表和手机不同,由于定位差异&#xff0…

android系统智能手表 开箱,完全安卓体验 Omate智能腕表实机开箱

Omate TureSmart智能腕表行货上市时间已经临近,智能穿戴频道也在第一时间收到了来自Omate的工程样机产品,据介绍目前产品已经最终定型,所以我们拿到的产品与最终上市产品之间差别不大,将在本月底以1888元在京东商城开始预售。 Omate TureSmart智能腕表是一款运行在安卓4.2操…

这才是智能手表该有的样子 HUAWEI WATCH 2评测

近来,智能穿戴产品市场大热,不少品牌纷纷推出了自己的全新产品,就在今年的巴塞罗那2017MWC上,华为正式公布了自己的智能手表的第二代产品HUAWEI WATCH 2。笔者最近也拿到了这款HUAWEI WATCH 2。没错!这才是智能手表该有…

儿童智能手表行业安全问题报告

路人甲 2015/09/23 22:18 Wooyun & NumenTeam 联合出品 0x00 引子 这是来自美剧《网络犯罪调查》的一张截图,讲述的是黑客通过入侵了数万家庭婴儿监控摄像头,分析家庭的作息时间,在合适的时机偷出需要的婴儿,并实时进行全球在…

数码类测评:dido G28S Pro心电血压智能手表

米粉双哥智能好物开箱:年轻人的第一款健康智能手表! Hi~今天米粉双哥为大家测评dido G28S Pro心电血压智能手表。随着科技的不断发展,智能手表已经成为了很多用户除手机外的第二件随身携带的智能设备。智能手表的功能绝不仅仅是看时间&#x…

Android指针手表,既有屏幕又有指针的智能手表,这设计有一套

【不满格评测原创】说到爱国者,这可是实打实的老牌子,我们身边有太多爱国者的东西了,比如音频播放器、电脑外设、数码周边、办公数码、教育数码,等等等等~可以说,爱国者已经把产品覆盖到了我们生活的方方面面。 不过&a…

智能手表音频特性测试_Kido × 蜻蜓FM打造音频内容营销新范本,高效精准助品牌弯道超车...

近年来,儿童穿戴市场进入快速发展时期,儿童手表也逐渐成为科技领域集安全、娱乐和教育于一体的热门品类。在竞争渐趋白热化的背景下,如何以更加高效的方式快速获客、树立品牌形象,成为获得竞争优势的重要因素。 作为儿童智能穿戴设…