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 不用将汇编代码加入工程,选择 “否” 新建文件,注意这 ...
随机推荐
- Linux的守护进程 [补档-2023-08-10]
12-1守护进程 12-1-1介绍 Daemom是Linux中的后台服务进程,通常独立于控制终端并且周期性地执行某种任务或者事件.这些进 程一般不直接和用户交互,不受用户的登录,注销等影响.没 ...
- 从嘉手札<2023-12-09>
大雪时节 有种风雪欲来的静谧 如同飘摇的浮舟 人们常说上岸 可对于常年生活在水里的鱼儿来说 哪里是岸边呢 我不知道未来 但唯一可以确定的是 无论你过的怎么样 你都需要给自己一个交待 哪怕风雪兼程 哪怕 ...
- Windows系统phpstudy+PbootCMS搭建网站记录
环境 Windows 10 phpstudy v8.1 下载地址:https://www.xp.cn/download.html PbootCMS v3.2.4 下载地址:htt ...
- MarkDown文件插入图片(绝对\相对路径\调整图像大小位置)
1. 插入网络图片(有效网络连接) Markdown中插入图片的语法为,图片路径可以直接写入图片有效链接网址即可: 方法1: 方法2:<img src=&quo ...
- Java并发(八)----使用线程避免cpu占用100%
1.sleep 实现 在没有利用 cpu 来计算时,不要让 while(true) 空转浪费 cpu,这时可以使用 yield 或 sleep 来让出 cpu 的使用权给其他程序 while(true ...
- 执行orachk检查数据库环境
Exadata环境巡检需要执行专有的exachk,而普通Oracle环境可以通过执行orachk来检查集群和数据库相关健康状况. 1.使用orachk检查健康状态 使用root用户执行,期间可能需要多 ...
- 5.字典--《Python编程:从入门到实践》
5.1 字典 在 Python 中,字典是一系列键-值对.键不能重复,否则对应的值是后面一个. 5.1.1 键-值队的添加与修改 alien_0 = {'color': 'green', 'poi ...
- Unix\Linux 执行 shell 报错:“$'\r': 未找到命令” 的解决办法
原因 原因是因为 shell 脚本是在 Windows 编写导致的换行问题,具体原因是 Windows 的换行符号为 CRLF(\r\n),而 Unix\Linux 为 LF(\n),Macintos ...
- 【Unity3D】动态路障导航
1 NavMeshObstacle组件 导航系统.分离路面导航中路障都是静态的,程序运行过程中烘焙的导航网格一直不变,本文将进一步讲解动态路障场景下导航的实现. 对于动态路障游戏对象,除了要设 ...
- 快速傅里叶变换(FFT)和小波分析在信号处理上的应用
1前言 1.1傅里叶变换 函数f(t)为一元连续函数,其傅里叶变换定义为: F(w)的傅里叶逆变换定义为: 其中,i为虚数单位.由欧拉公式: 任意绝对可积的连续函数f(t),都可以用三角函数表示,由于 ...