【嵌入式STM32环境搭建】Keil5安装和STM32工程模板搭建

Keil5安装和STM32工程模板

Keil5安装

STM32入门教程-2022持续更新中_哔哩哔哩_bilibili

网盘提取码:8kzh,链接里压缩包的解压密码:32

STM32库函数版工程模板

搭建好模板,以后就可以直接复制工程来修改,方便快速上手

用keil5新建STM32工程(超详细的图解操作)

建工程文件夹

工程就保存在这里了,以后从这里打开

image-20211205231110032

这几个是建工程时生成的文件夹

启动文件夹Start

【嵌入式STM32环境搭建】Keil5安装和STM32工程模板搭建_第1张图片

startup启动文件,上电从这里运行

core内核文件

stm32f103x.h描述STM32寄存器和对应地址

system文件主要用来配置时钟

  • STM32系列命名规则

    STM32 F 103 C 6 T 7 xxx 
    1 2 3 4 5 6 7 8
      第1部分:产品系列名,固定为STM32
      第2部分:产品类型;F表示这是Flash产品,目前没有其它选项
      第3部分:产品子系列;103表示增强型产品,101表示基本型产品
    105表示集成一个全速USB 2.0 Host/Device/OTG接口和两个具有先进过滤功能的CAN2.0B控制器,
    107表示在STM32F105系列基础增加一个10/100以太
    网媒体访问控制器(MAC),互联型产品,
      第4部分:管脚数目;
      T=36脚; C=48脚; R=64脚;V=100脚; Z=144脚
      第5部分:闪存存储器容量:
      6=32K字节; 8=64K字节; B=128K字节; C=256K字节
      D=384K字节; E=512K字节
      第6部分:封装信息;
      H=BGA;T=LQFP;U=VFQFPN
      第7部分:工作温度范围;
      6=工业级,-40~+85°C
      7=工业级,-40~+105°C

第8部分:可选项;此部分可以没有,可以用于标示内部固件版本号。

  • 启动文件的选择

startup_stm32f10x_cl.s 互联型的器件,STM32F105xx,STM32F107xx
startup_stm32f10x_hd.s 大容量的STM32F101xx,STM32F102xx,STM32F103xx
startup_stm32f10x_hd_vl.s 大容量的STM32F100xx
startup_stm32f10x_ld.s 小容量的STM32F101xx,STM32F102xx,STM32F103xx
startup_stm32f10x_ld_vl.s 小容量的STM32F100xx
startup_stm32f10x_md.s 中容量的STM32F101xx,STM32F102xx,STM32F103xx
startup_stm32f10x_md_vl.s 中容量的STM32F100xx
startup_stm32f10x_xl.s FLASH在512K到1024K字节的STM32F101xx,STM32F102xx,STM32F103xx
ps:
cl:互联型产品,stm32f105/107系列
vl:超值型产品,stm32f100系列
xl:超高密度产品,stm32f101/103系列
ld:低密度产品,FLASH小于64K
md:中等密度产品,FLASH=64 or 128

hd:高密度产品,FLASH大于128

固件库文件夹Library

【嵌入式STM32环境搭建】Keil5安装和STM32工程模板搭建_第2张图片

找到对应需要的库放进去就行了

硬件库文件夹Hardware

硬件库文件可以分成一个一个的小文件,需要的直接复制文件夹
【嵌入式STM32环境搭建】Keil5安装和STM32工程模板搭建_第3张图片【嵌入式STM32环境搭建】Keil5安装和STM32工程模板搭建_第4张图片
需要用的库导入就行

【嵌入式STM32环境搭建】Keil5安装和STM32工程模板搭建_第5张图片

系统库文件夹System

和硬件文件夹同理,这两文件夹可以合并成一个

【嵌入式STM32环境搭建】Keil5安装和STM32工程模板搭建_第6张图片【嵌入式STM32环境搭建】Keil5安装和STM32工程模板搭建_第7张图片
【嵌入式STM32环境搭建】Keil5安装和STM32工程模板搭建_第8张图片

用户文件夹User

【嵌入式STM32环境搭建】Keil5安装和STM32工程模板搭建_第9张图片
main.c

#include "stm32f10x.h"
#include "led.h"
#include "key.h"
#include "sys.h"
#include "timer.h"
#include "delay.h"
#include "usart.h"
#include "usart3.h"
#include "iwdg.h"
#include "exti.h"
#include "oled.h"

void Hardware_Init(void)
{
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
    Delay_Init();
    usart_init(115200);
    LED_Init();
	OLED_Init();
	
	  OLED_ShowChar(1, 1, 'A');
	  OLED_ShowString(1, 3, "HelloWorld!");
	  OLED_ShowNum(2, 1, 12345, 5);
	  OLED_ShowSignedNum(2, 7, -66, 2);
	  OLED_ShowHexNum(3, 1, 0xAA55, 4);
	  OLED_ShowBinNum(4, 1, 0xAA55, 16);
}


int main(void)
{

    Hardware_Init();

    while(1)
    {
       
    }
}

configuration.h文件用来配置库函数头文件包含关系
STM32f10x_it中断相关

【嵌入式STM32环境搭建】Keil5安装和STM32工程模板搭建_第10张图片
写程序时一般要注意

  • 端口复用和重映射
  • 5V容忍

你可能感兴趣的:(嵌入式,#,STM32,#,嵌入式环境搭建,stm32,单片机,arm)