KEIL5新建工程0810

在保存各种项目的文件夹内创建一个项目文件夹1
新建工程到文件夹1

选择芯片
添加工程的必要文件(固件库)

STM32程序是从启动文件开始,复制这些文件到文件夹A的新建Start文件夹下

| stm32f10x.h | 外设寄存器描述文件(寄存器名称以及地址) |
| system_stm32f10x.c | 配置时钟 |
这三个文件也复制到Start文件夹下
STM32是内核和内核外围设备组成,而且这个内核的寄存器描述和外围设备的描述文件不是在一起的,所以还需要添加一个内核寄存器的描述文件

也也复制到Start文件夹下

暂时OK
把对应的文件添加到项目中, //具体芯片对应哪个启动文件可查看本文结尾

添加头文件路径到工程选项(魔术棒)
中

创建文件夹

此时在main文件中添加下面代码,使用寄存器开发
#include "stm32f10x.h"
int main(void)
{
while(1)
{ }
}
配置UTF8
配置调试器

测试代码
#include "stm32f10x.h"
int main(void)
{
RCC->APB2ENR=0x00000010 ; //打开GPIOC的时钟
GPIOC->CRH=0x00300000; //输出模式 推挽输出
//GPIOC->ODR=0x00000000; //全0 PC13的灯亮,0002000灭
GPIOC->ODR=0x0002000;
while(1)
{ }
}
添加库函数 misc杂项,为内核库函数,其他的为外设库函数


全部复制到新建的文件夹Library内
over

| stm32f10x_conf.h |
配置库函数头文件的包含关系,用来参数检查的函数定义,库函数都需要 |
| stm32f10x_it.c | interrupt 文件存放中断函数 |
三个文件复制到User文件夹下,同时添加到工程对应文件夹内
定义相关


基于库函数的工程OK

简单使用库函数
#include "stm32f10x.h"
int main(void)
{
//RCC->APB2ENR=0x00000010 ; //打开GPIOC的时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
//GPIOC->CRH=0x00300000; //输出模式 推挽输出
GPIO_InitTypeDef A;
A.GPIO_Mode=GPIO_Mode_Out_PP ; //通用推挽输出
A.GPIO_Pin=GPIO_Pin_13;
A.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOC, &A ); //13口的LED HEX=C
//GPIOC->ODR=0x00000000; //全0 PC13的灯亮,0002000灭
//GPIOC->ODR=0x0002000;
GPIO_SetBits(GPIOC,GPIO_Pin_13); //高电平
//GPIO_ResetBits(GPIOC,GPIO_Pin_13); //低电平 亮
while(1)
{ }
}
PS
启动文件对应芯片型号

项目整体结构分析 1 2主动执行 ,3 被动执行

汇编写的调用

KEIL5新建工程0810的更多相关文章
- 第7章 使用寄存器点亮LED灯
第7章 使用寄存器点亮LED灯 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fir ...
- 第7章 使用寄存器点亮LED灯—零死角玩转STM32-F429系列
第7章 使用寄存器点亮LED灯 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fir ...
- STM32固件库模板下载以及固件库学习方法
固件库模板下载 固件库模板新建过程: 下载我们上节的固件库文件 电脑新建一个文件夹命名为Fwlib-Template,在此文件夹下分别新建DOC Libraries Project User 这四个文 ...
- 第2章 如何安装KEIL5
第2章 如何安装KEIL5 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fireg ...
- 第10章 新建工程-库函数版—零死角玩转STM32-F429系列
第10章 新建工程—库函数版 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fire ...
- 第6章 新建工程-寄存器版—零死角玩转STM32-F429系列
第6章 新建工程—寄存器版 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fireg ...
- 第2章-如何安装KEIL5—零死角玩转STM32-F429系列
第2章 如何安装KEIL5 集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege 本章内 ...
- stm32新建工程详细步骤
记得好早以前为了建一个keil的工程折腾了好久,在这里写写基本的Keil工程创建方法,以防自己以后再忘记: 新建工程 保存工程 选择器件 在这边新建文件夹,然后就是添加程序代码到里面去了.其中一些文件 ...
- Android学习起步 - 新建工程及相关
新手起步迷迷糊糊,以下记录迷惑之处,大家共勉!!! 1.创建安卓应用工程 选择Andriod Application Project 点下一步直到完成. 二.下面是新建工程注意的地方 (1)首选删除系 ...
- keil 怎样新建工程,编写代码?
打开keil uversion 4 新建工程 新建的工程名字,点击保存. 选择 cpu 单片机芯片 Atmel ----> AT89C51 不用将汇编代码加入工程,选择 “否” 新建文件,注意这 ...
随机推荐
- 【踩坑记录】SpringBoot跨域配置不生效
问题复现: 明明在拦截器里配置了跨域,就是不生效,使用PostMan等后端调试工具调试,均正常,Response中有Access-Control-Allow-Origin: *,这个Header,但是 ...
- 领域知识图谱的医生推荐系统:利用BERT+CRF+BiLSTM的医疗实体识别,建立医学知识图谱,建立知识问答系统
领域知识图谱的医生推荐系统:利用BERT+CRF+BiLSTM的医疗实体识别,建立医学知识图谱,建立知识问答系统 本项目主要实现了疾病自诊和医生推荐两个功能并构建了医生服务指标评价体系.疾病自诊主要通 ...
- 强化学习基础篇【1】:基础知识点、马尔科夫决策过程、蒙特卡洛策略梯度定理、REINFORCE 算法
强化学习基础篇[1]:基础知识点.马尔科夫决策过程.蒙特卡洛策略梯度定理.REINFORCE 算法 1.强化学习基础知识点 智能体(agent):智能体是强化学习算法的主体,它能够根据经验做出主观判断 ...
- Asp .Net Core 系列:Asp .Net Core 配置 System.Text.Json
目录 简介 Asp .Net Core 如何配置 System.Text.Json 所有配置 全局配置 对比 Newtonsoft.Json 无实体类型下操作 Json 自定义转换器 处理 Dynam ...
- .NET Core开发实战(第8课:配置框架:让服务无缝适应各种环境)--学习笔记
08 | 配置框架:让服务无缝适应各种环境 配置是应用程序发布到各种环境的必备能力,这一节开始详细讲解 ASP.NET Core 的配置框架 配置框架的核心包有两个,一个抽象包,一个实现包 Micro ...
- JS 可选链操作符?. 空值合并运算符?? 详解,更精简的安全取值与默认值设置小技巧
壹 ❀ 引 说来也比较惭愧,可选链操作符?.在公司项目中使用特别频繁,而我在之前一直以为是类似奇技淫巧的写法,所以也没去查阅相关文档,直到在学习typescript时碰巧看到了可选链操作符与空值合并操 ...
- ES6学习 第七章 函数的扩展
前言 本章介绍函数的扩展.有些不常用的知识了解即可. 本章原文链接:函数的扩展. 函数参数的默认值 ES6 允许为函数的参数设置默认值,即直接写在参数定义的后面. 当函数形参没有被赋值时,才会将默认值 ...
- linux 中grep 命令详细使用方法说明
前言在linux命令行中,经常需要对当前获取的一堆数据进行过滤.提取和分析,其中grep命令是其中非常重要的命令之一,比如,在生产环境服务器上,经常使用到下面这个命令 ps -ef | grep ja ...
- Python中用With open as 实现对文件的操作
with open as f在Python中用来读写文件(夹). 基本写法如下: with open(文件名,模式)as f: f.write(内容)#写操作 例:with open ('这个文章.t ...
- Spring的接口集合注入功能
Spring的接口集合注入功能 对于Spring中已经注入的bean, 可以使用Autowired, 通过Map<String, BeanInterface>或List<BeanIn ...