16: KEil5的配置

目录

一:第一次使用

1:安装支持包--在线安装的方式

2:配置环境

3:文件的加入

4:文件夹的意义

A:Start

B:Library

C:User

二:官网固件库的下载

1:下载

2:Start文件夹下

A: 启动文件

 B:外设寄存器和时钟文件

C: 内核寄存器

3:Library文件夹下

A:库文件

B:库函数的头文件

4:User文件夹下

A:包含关系文件和中断函数

三: KEi5配置

A:Start

B:Library 

C:User


一:第一次使用

1:安装支持包--在线安装的方式

安装支持包----------可以安装keil软件支持所有芯片的支持包, EG: STM32F103C8T6

点击后缀名为: DFP 的文件 点击 Install进行下载

完成这个芯片支持包的安装

2:配置环境

在STM32支持包安装完成后, Keil5软件会检测到新的支持包,  我们点击是

点击合适的芯片, 我们这里面使用的是 STM32F103;  使用我们选择这个芯片

3:文件的加入

配置好默认的文件夹

 我们需要给他加入几个文件夹: Hardware(硬件----把自己写的一些文件放在这个里面) ,  Library ,  Start  ,   System(自己写的一些系统文件写在这个里面----eg: Delay函数) ,  User 文件里面放入我们需要的文件

4:文件夹的意义

A:Start

Start : 放入STM32的启动文件  和   外设寄存器和时钟文件  还有   内核寄存器

        外设寄存器和时钟文件: STM32的程序就是从启动文件开始执行的;------------------二:官网固件库的下载------二:Start文件夹下A: 启动文件

        外设寄存器和时钟文件 : 二:官网固件库的下载- 二:Start文件夹下B:外设寄存器和时钟文件

        内核寄存器 :     二:官网固件库的下载- 二:Start文件夹下C: 内核寄存器

这个时候Start文件夹下面的文件已经全部准备完毕

B:Library

放入库函数  和   库函数的头文件

C:User

放包含关系文件和中断函数

二:官网固件库的下载

1:下载

官方网站 :        https://www.st.com/content/st_com/en.html

点击这个按钮

进入STM32的下载

选择32的型号 , 我们使用的是STM32F103 ,   所以我们选择F1的芯片

可以选择版本号, 我们这里面选择STM32 3.5的版本 ;   注意下载的时候需要我们的账号,  我们要进行注册一个账号

 下载完成后面的文件夹

2:Start文件夹下

A: 启动文件

在Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm文件下面的为启动文件-------放在Start文件下面

 B:外设寄存器和时钟文件

在Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x文件里面放的是: 

stm32f10x:h,就是STM32的外设寄存器描述文件-----它的作用就跟51单片机的头文件REGX52:H一样;   STM32有哪些寄存器和它对应的地址的

剩下的那2个就是配置时钟的文件-----放在Start文件下面

C: 内核寄存器

在Libraries\CMSIS\CM3\CoreSupport下----放入Start文件

3:Library文件夹下

A:库文件

A:在\Libraries\STM32F10x_StdPeriph_Driver\src文件中

B:库函数的头文件

在Libraries\STM32F10x_StdPeriph_Driver\inc文件夹下面放的是库函数的头文件

4:User文件夹下

A:包含关系文件和中断函数

在Project\STM32F10x_StdPeriph_Template文件夹下

        stm32f10x confh和两个it结尾的文件;   这个conf(configuration) 文件是用来配置库函数头文件的包含关系的 .  另外这里面还有个用来参数检的函数定义,这是所有库函数都需要的

        两个it文件是用来存放中断函数的

三: KEi5配置

前面外面已经完成了文件的下载和配置, 接下来我们配置keil

A:Start

启动文件一很多分类, 我们只能添加一个符合我们芯片的启动文件.   我们芯片所用型号需要选择这个后缀为md.s的启动文件

 Start文件夹下面的全部文件

然后在把Start文件目录配置下来

B:Library 

把上面在官网下载的文件里面的  库文件 和库文件的太文件全部加入到了Library 的文件夹下

配置Library 目录和Strat的方法一样

C:User

把上面加入User的3个文件全部加入----A:包含关系文件和中断函数

右键进入stm32f10x.h文件下----配置

条件编译------意思是如果你定义了USE_STDPERIPH_DRIVER这个字符串.  下面这个include conf.h语句才有效-------在配置进去

不要忘记配置根目录 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/146642.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【单片机】15-AD和DA转换

1.AD转换及其相关背景知识 1.基本概念 1.什么是AD转换? A(A,analog,模拟的,D,digital,数字的) 现实世界是模拟的,连续分布的,无法被分成有限份;…

openGauss学习笔记-87 openGauss 数据库管理-内存优化表MOT管理-内存表特性-使用MOT-MOT使用简单概述

文章目录 openGauss学习笔记-87 openGauss 数据库管理-内存优化表MOT管理-内存表特性-使用MOT-MOT使用简单概述87.1 授予用户权限87.2 创建/删除MOT87.3 为MOT创建索引 openGauss学习笔记-87 openGauss 数据库管理-内存优化表MOT管理-内存表特性-使用MOT-MOT使用简单概述 使用…

Vue2详解

Vue2 一、Vue快速上手 1.1什么是Vue 概念:Vue是一套构建用户界面的渐进式 框架 构建用户界面:基于数据渲染出用户可以看到的界面 渐进式:所谓渐进式就是循序渐进,不一定非得把Vue中所有的API都学完才能开发Vue,可以…

stable diffusion和gpt4-free快速运行

这是一个快速搭建环境并运行的教程 stable diffusion快速运行gpt快速运行 包含已经搭建好的环境和指令,代码等运行所需。安装好系统必备anaconda、conda即可运行。 stable diffusion快速运行 github: AUTOMATIC1111/稳定扩散网络UI:稳定扩散网页用户界…

【计算机网络黑皮书】应用层

【事先声明】 这是对于中科大的计算机网络的网课的学习笔记,感谢郑烇老师的无偿分享 书籍是《计算机网络(自顶向下方法 第6版)》 需要的可以私信我,无偿分享,课程简介下也有 课程连接 目录 应用层网络应用的原理应用架…

链表经典面试题(三)

合并两个有序链表 1.题目2.图文分析3.代码实现 1.题目 2.图文分析 我们通过两个连接和指向的中介,我们可以将两个链表依次连接起来,并且当其中一个链表走完后,另一个链表剩余的值都会比另一个链表的值大,所以直接将指向中介指向他…

Acwing 906. 区间分组

Acwing 906. 区间分组 知识点题目描述思路讲解代码展示 知识点 贪心 题目描述 思路讲解 这段代码是用来维护一个最小堆,以确保右边界不相交的区间被正确地保留在堆中。让我详细解释这段代码: heap.empty():这个条件检查最小堆 heap 是否为…

8、Nacos服务注册服务端源码分析(七)

本文收录于专栏 Nacos 中 。 文章目录 前言确定前端路由CatalogController.listDetail()ServiceManager总结 前言 前文我们分析了Nacos中客户端注册时数据分发的设计链路,本文根据Nacos前端页面请求,看下前端页面中的服务列表的数据源于哪里。 确定前端…

计算机毕业设计 基于SSM的宿舍管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

全面解读 SQL 优化 - 统计信息

一、简介 数据库中的优化器(optimizer)是一个重要的组件,用于分析 SQL 查询语句,并生成执行计划。在生成执行计划时,优化器需要依赖数据库中的统计信息来估算查询的成本,从而选择最优的执行计划。以下是关…

JavaSE | 初识Java(五) | 方法的使用

方法就是一个代码片段, 类似于 C 语言中的 " 函数 "。 方法可以是我们代码逻辑更清晰,并且可以服用方法使代码更简洁 方法语法格式 // 方法定义 修饰符 返回值类型 方法名称([参数类型 形参 ...]){ 方法体代码; [return 返回值]; } 实例&…

微信开发者工具 如何设置代码的缩进

最近学习小程序的时候发现微信开发工具的缩进有点问题,当我在pages-index-index.wxml中删除初始代码重新自己写的时候。发现里面其实是没有缩进的。 如下图: 然后我自己研究了一下,结合查了一些资料,总结了在微信开发者工具中设置…

HTML5+CSS3+JS小实例:鼠标滚轮水平滚动

实例:鼠标滚轮水平滚动 技术栈:HTML+CSS+JS 效果: 源码: 【html】 <!DOCTYPE html> <html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"><meta name="viewport" content="…

【C语言】IO流(文件操作)- scanf / printf没那么简单!

本篇文章目录 1. 为什么使用文件&#xff1f;2. 什么是文件&#xff1f;3. IO流的概念4. 操作文件的步骤文件指针4.1 打开文件和关闭文件4.2 读写文件&#xff08;顺序读取&#xff09;4.2.1 字符输入输出4.2.2 字符串&#xff08;文本行&#xff09;输入输出4.2.3 格式化输入输…

如何把word的页眉页脚改为图片

前言 亲戚A&#xff1a; 听说你是计算机专业&#xff1f; 沐风晓月&#xff1a; 是啊 亲戚A&#xff1a; 那正好&#xff0c;来看看我这个页眉怎么改成图片 沐风晓月&#xff1a; 一万匹马奔腾而过 亲戚B&#xff1a; 听说你是英语专业&#xff1f; 沐风晓月&#xff1a; 是啊…

2021-06-20 51单片机基于STC89C52RC的简易秒表的设计与实现(外部中断1和2)

缘由基于STC89C52RC的简易秒表的设计与实现_编程语言-CSDN问答 1.功能要求&#xff1a; K1键做启动停止秒表&#xff08;外部中断0&#xff09;&#xff0c;K2键做秒表归零&#xff08;外部中断1&#xff09;&#xff0c;4位数码管动态扫描显示&#xff0c;定时范围改成0到00…

【chainlit】使用chainlit部署chatgpt

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…

【day10.01】使用select实现服务器并发

用select实现服务器并发&#xff1a; linuxlinux:~/study/1001$ cat server.c #include <myhead.h>#define ERR_MSG(msg) do{\printf("%d\n",__LINE__);\perror(msg);\ }while(0)#define PORT 8880#define IP "192.168.31.38"int main(int argc, c…

爆文采集器-热点爆文章采集工具

当信息在互联网上迅速传播&#xff0c;新闻迅速变化&#xff0c;自媒体创作者和信息追踪者们都希望能够捕捉到瞬息万变的热点话题&#xff0c;以吸引更多的关注和流量。爆文采集器成为了一项关键的工具&#xff0c;有助于他们在信息的海洋中找到并分享最新、最热门的内容。 热点…

计算机网络(二):物理层

参考引用 计算机网络微课堂-湖科大教书匠计算机网络&#xff08;第7版&#xff09;-谢希仁 1. 物理层的基本概念 物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流物理层为数据链路层屏蔽了各种传输媒体的差异&#xff0c;使数据链路层只需要考虑如何完成本…