使用Keil MDK编译stm32简单程序(点亮LED灯)

STM32F103C8T6实现LED点亮


前言

记录第一次点亮LED灯!


一、使用工具

1.LED发光二极管
2.面包板
3.杜邦线
4.STM32F103C8T6单片机
5.USB转TTL USB转串口下载线CH340模块

二、安装

B站参考视频

设备安装(STM32F103C8T6点亮一个LED)

安装完后的样图:
在这里插入图片描述

三、Keil MDK创建项目

1.新建项目

2.新建文件夹

建一个文件夹(这里我取名为入门点亮LED灯)
在这里插入图片描述

新建工程名Project
在这里插入图片描述

3.配置

选择芯片STM32F103C8
在这里插入图片描述

点击ok,进入主界面,弹出的窗口叉掉
在这里插入图片描述

进入项目文件夹,新建三个文件夹StartLibraryUser
在这里插入图片描述

去官网找到固件库文件或者去csdn搜索一下,有教程,复制粘贴到文件夹下
Start
在这里插入图片描述

Library

在这里插入图片描述
User
在这里插入图片描述

回到keil,点击三个箱子的工程文件管理按钮
在这里插入图片描述

把默认的组叉掉
在这里插入图片描述

点按钮新建三个组,就是上面的文件夹名字
在这里插入图片描述
(1)Start
选中Start,在右边点击Add Files添加文件,打开Start文件夹,文件类型选中所有文件首先添加后缀为md的启动文件
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

然后按住Ctrl,将其他的.c.h文件都选中,添加进去
在这里插入图片描述

最后如图
在这里插入图片描述

(2)Library
同样选择Library,打开Library文件夹,文件类型选中所有文件,全选,添加
在这里插入图片描述

(2)User
Library一样,全选,添加
在这里插入图片描述

最后点击ok,这样工程里的组和文件都添加好了

点击魔术棒按钮,打开工程选项,选择C/C++
在这里插入图片描述
在这里插入图片描述

include Paths栏,点击后面的三个点,把我们自己创建的文件夹路径都添加进来,然后ok
在这里插入图片描述

Define栏上,写上USE_STDPERIPH_DRIVER
在这里插入图片描述

output中勾上Create HEX File,点击ok,这样,项目工程就配置好了
在这里插入图片描述

4.测试代码

在main.c中写代码,先进行编译调试
调试代码如下(示例):

#include "stm32f10x.h"                  // Device header
	
int main(void)
{

	while(1)
	{
		
	}
}

编译测试
在这里插入图片描述

没有错误,说明可以正常运行和写代码
在这里插入图片描述

5.点亮LED的代码

代码如下(示例):

#include "stm32f10x.h"                  // Device header

void LED_config(void)
{
	GPIO_InitTypeDef LED1;
	//定义一个名为:LED1的结构体
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
	//使能GPIOB时钟
	
	//配置GPIOB的工作模式并初始化
	LED1.GPIO_Mode = GPIO_Mode_Out_PP;//推挽输出
	LED1.GPIO_Pin = GPIO_Pin_12;//引脚12
	LED1.GPIO_Speed = GPIO_Speed_50MHz;//速度50MHz
	GPIO_Init(GPIOB,&LED1);
}

int main(void)
{
	LED_config();
	GPIO_SetBits(GPIOB,GPIO_Pin_12);//置1
	GPIO_ResetBits(GPIOB,GPIO_Pin_12);//置0
	while(1);
}

编译一下,没有错误
在这里插入图片描述

四、使用mcuisp下载

先打开mcuisp,点击上方的搜索串口,有提示表明下载成功
在这里插入图片描述

选择编译生成的hex文件
在这里插入图片描述

选择DTR的低电平复位,RTS的高电平进BootLoader后,点击开始编程,写入成功!
在这里插入图片描述

LED灯成功点亮!
在这里插入图片描述


五、总结

第一次点亮LED灯的过程很不容易,中间不管是软件还是实践,均出现了一些细节方面的错误,让我意识到了,硬件这部分需要我们要有足够的耐心和细心,同时要善于查阅资料,有许多不懂的bug或者不懂的连线都可以在网上搜到别人大佬的细心解答。

参考资料

https://blog.csdn.net/ssj925319/article/details/108919862

STM32入门教程-2023持续更新中

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菲菲QAQ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值