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

这篇博客介绍了如何创建STM32寄存器版工程,包括选择MCU、添加启动文件、创建main.c和配置头文件。接着详细讲解了ST-LINK v2的连接步骤,最后探讨了如何通过寄存器设置点亮LED,涉及开启GPIO时钟、设置推挽输出和更新ODR寄存器。
摘要由CSDN通过智能技术生成
本文采用野火霸道开发板为硬件基础;
内容并不详细完整,主要是为了自己以后忘记时查阅方便。
大家如果想学习可以直接去看教程:
野火手把手教你学STM32-基于M3 - 网易云课堂

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

一、创建寄存器版工程

1、创建新工程,选好MCU

v2-3c92de561b0502b1f2332cde7f33c34f_b.jpg

建好之后工程树如下:

v2-5d706661a00cb4c74f6f64e21f325518_b.jpg

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

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

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

v2-a4277c9a30583ab11d8032671d7aceba_b.jpg

拷贝完成后如下:

v2-6e4d0db0d8c25e020471722dda4767ba_b.jpg

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

v2-6793908ea3b08f12de4026967033f167_b.jpg

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

v2-fd3b883d48ff5da8608a0792415e41d1_b.jpg

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、软件设置

v2-a8e0206182e1833c1d48bd242d18d5cb_b.jpg

v2-641b998605edb235fd8d70d845bada30_b.jpg

v2-dd4d1cafedf98f38c905c62ad5fd8aec_b.jpg

v2-85701f49850a0abe0a280b6b6de5ac2d_b.jpg

3、编译器下载

v2-ec6621545a849f88a4ad017188148441_b.png

第一节 寄存器点亮LED

操作GPIO需要以下工作:

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

v2-051bdf320d2a48f5df294fd06e23d6e1_b.jpg

2 设置GPIO推挽10M输出

v2-763573166f78e701db492effa0db2ff1_b.jpg

3 给GPIO ODR寄存器送值

v2-52a78df2dd8ab8cfc0108e5a2fd01493_b.jpg
        #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)
{

}
      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值