stm32入门项目配置及Led实验(proteus)

配置前准备

1.Keil软件(MDK)
2.proteus软件
3.stm32的标准库(下载对应芯片的库)
注意:本教程是以STM32F103CB芯片为例

keil配置

1.从官网下载标准外设库
声明:因为在官网下载需要注册,本博主已经有了那个库,没有在官网下载。下面附了两个链接,一个是github,一个是官网地址。
github
标准外设库的官网地址

stm32入门项目配置及Led实验(proteus)_第1张图片
stm32入门项目配置及Led实验(proteus)_第2张图片
2.新建工程
a.将外设库复制到一个你准备新建工程的文件夹中
stm32入门项目配置及Led实验(proteus)_第3张图片
3.keil配置流程
a.新建项目
stm32入门项目配置及Led实验(proteus)_第4张图片
b.工程的路径要与“2”中复制外设库的路径一致,文件名是你的工程名,随你取
stm32入门项目配置及Led实验(proteus)_第5张图片
c.选择对应型号的芯片,然后一直确定。本例中使用STM32F103CB。
stm32入门项目配置及Led实验(proteus)_第6张图片
stm32入门项目配置及Led实验(proteus)_第7张图片
d.将Target 1改为芯片名STM32F103CB(这个改不改无所谓,改一下好看)。并继续添加两个分组,将名字改为如图所示。也就是和外设库的名字一样。
stm32入门项目配置及Led实验(proteus)_第8张图片
e.添加文件,如图所示。
stm32入门项目配置及Led实验(proteus)_第9张图片
f.注意三个都要添加
stm32入门项目配置及Led实验(proteus)_第10张图片
g.点击魔法棒
stm32入门项目配置及Led实验(proteus)_第11张图片
h.然后再C/C++中define中填入USE_STDPERIPH_DRIVER, STM32F10X_MD
为什么是这个,我的另一篇博客上有解释。可以去看一下。
stm32入门项目配置及Led实验(proteus)_第12张图片
i.添加include path。先点击1会出来2,然后添加路径。
stm32入门项目配置及Led实验(proteus)_第13张图片
stm32入门项目配置及Led实验(proteus)_第14张图片
j.勾选生成hex
stm32入门项目配置及Led实验(proteus)_第15张图片
k.运行
stm32入门项目配置及Led实验(proteus)_第16张图片
4.写点灯代码(这个实在不想多说,网上一搜一大堆。)展示一下代码
兴建一个led.c代码如下:

#include "led.h"

void LED_GPIO_Config(void)
{
		GPIO_InitTypeDef GPIO_InitStructure;
	
		RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
	  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;	
		GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;       
		GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
		GPIO_Init(GPIOB, &GPIO_InitStructure); 
}

在新建一个led.h代码如下

#ifndef __LED_H
#define	__LED_H
 
#include "stm32f10x_gpio.h"
 
#define ON	0
#define OFF	1
 
#define LedControl(a) if(a) GPIO_SetBits(GPIOB,GPIO_Pin_5); else GPIO_ResetBits(GPIOB,GPIO_Pin_5)
 
void LED_GPIO_Config(void);
#endif

main函数代码如下图所示

#include "stm32f10x.h"
#include "led.h"


void Delay(u32 count)
{
		u32 i=0;
		for(;i

5.proteus画图
这个也不想多讲,在网上找一个最小系统图,照着画就行了。注意的是proteus里面并没有博主芯片,懒得再去添加了,所以随便选了一款同时103系列的,使用没有问题。
stm32入门项目配置及Led实验(proteus)_第17张图片

结语

真正学习嵌入式怎么能没有硬件呢!所以博主也做了一下实物,给你看一下。

你可能感兴趣的:(硬件,stm32,stm32环境配置,keil,stm32,proteus)