STM32库函数开发一文通(一)

本文采用野火霸道开发板为硬件基础;
内容并不详细完整,主要是为了自己以后忘记时查阅方便。
大家如果想学习可以直接去看教程:
野火手把手教你学STM32-基于M3 - 网易云课堂

第零节 创建寄存器版工程及连接STLINK

一、创建寄存器版工程

1、创建新工程,选好MCU

STM32库函数开发一文通(一)_第1张图片

建好之后工程树如下:

v2-5d706661a00cb4c74f6f64e21f325518_b.jpg

此时工程目录中已经自动生成了 listing 和 Objects 文件夹

2、拷贝startup_stm32f10x_hd.s进入工程根目录(这是工程的启动文件)

要找到这个文件,你要先下载一个固件库

STM32库函数开发一文通(一)_第2张图片

拷贝完成后如下:

STM32库函数开发一文通(一)_第3张图片

回到keil,双击工程树Source Group 1文件夹将启动文件添加进去

STM32库函数开发一文通(一)_第4张图片

3.在工程目录创建 main.c文件也按上述方法添加进去

STM32库函数开发一文通(一)_第5张图片

4.还需要一个头文件 stm32f10x.h,去固件库或者网上找,也可以自己先建一个空的,并添加进工程。

5.在main函数里写一个基本结构

        #include "stm32f10x.h"
int main(void)
{
	return 0;
}
void SystemInit(void)
{
	
}
      

至此,一个空壳工程就建立完毕了。

二、ST-LINK v2连接

1、接线

SWD → TMS

SWC → TCK

GND → GND

RST → RST(可不接)

3.3v → 3.3v(可不接)

2、软件设置

STM32库函数开发一文通(一)_第6张图片

STM32库函数开发一文通(一)_第7张图片

STM32库函数开发一文通(一)_第8张图片

STM32库函数开发一文通(一)_第9张图片

3、编译器下载

v2-ec6621545a849f88a4ad017188148441_b.png

第一节 寄存器点亮LED

操作GPIO需要以下工作:

1 开启GPIO对应的时钟APB2时钟源

STM32库函数开发一文通(一)_第10张图片

2 设置GPIO推挽10M输出

STM32库函数开发一文通(一)_第11张图片

3 给GPIO ODR寄存器送值

STM32库函数开发一文通(一)_第12张图片
        #include "stm32f10x.h"

void delay(int count)
{
	int i,j;
	for(i=0;i<2000;i++)
		for(j=0;j<1000;j++);
}
int main(void)
{
	*(unsigned int *)0x40021018 |= (1<<3);//开启时钟源
	*(unsigned int *)0x40010C00 |= (1<<0);//ÉèÖÃGPIOΪÍÆÍìÊä³ö10M
	while(1)
	{
		*(unsigned int *)0x40010C0C ^= (1<<0); //PB0È¡·´
		delay(100);
	}
}
void SystemInit(void)
{

}
      

你可能感兴趣的:(STM32库函数开发一文通(一))