stm32f103从安装MDK5到烧录第一个亮灯程序

本文是STM32新手入门教程,详细记录了从安装MDK5、注册、下载固件库和芯片Pack包,到配置ST-Link驱动、新建工程并烧录程序的过程。通过实例展示了如何点亮STM32F03C8T6板上的PA8、PB13、PB14和PB15引脚LED灯。同时提供了相关资源链接和学习建议。
摘要由CSDN通过智能技术生成

Ps:本人新手,发文以记录整理知识、加深理解、方其他新手之便、欢迎批评指正。欢迎大佬、同志茶余饭后当看个动态,更欢迎评论出你们建议和意见。

stm32第一次亮灯总结

环境

  • 核心板:GD(stm)32f03c8t6方案验证板
  • IDE:MDK-ARM(Keil5\MDK5)
    GD(stm)32f03c8t6方案验证板

第一次亮灯
第一次亮灯
个人基础不多,第一次拿到朋友送的这个板子比较感兴趣,晚上一直在CSDN上翻文章,从零开始配置环境,边抄边改亮灯的程序到最后烧入,一直搞到凌晨5点多,也是绝了。

步骤

1.下载MDK5并“注册”

CSDN引用-安装keil5(MDK)及导入pack包教程
该文章介绍了MDK软件的安装与“注册”、添加设备固件包(文中该部分其实直接双击安装即可)
如果文中注册机失效或者找不到注册机,可以下载我提供的
链接:https://pan.baidu.com/s/1fN5sHcum53MjH7e-OS0hNg
提取码:6666

2.官网下载对应芯片的标准库文件

CSDN引用-STM32固件库下载步骤
该文章介绍了如何从官网下载对应芯片的固件库(标准固件库)

CSDN引用-STM32官方固件库(标准固件库)下载及介绍
该文章简单介绍了标准外设库、如何从官网下载对应芯片的固件库、库文件内容介绍

3.官网下载芯片Pack包

CSDN引用-安装keil5(MDK)及导入pack包教程
该文章介绍了MDK软件的安装与“注册”、添加设备固件包(文中该部分其实直接双击安装即可)

4.官网下载ST-Link仿真器驱动

官网ST-Link下载地址

5.新建工程与程序烧录

!!!十分推荐的文章,可结合我上面的步骤一起看
CSDN引用-keil MDK5搭建STM32开发环境
该文章介绍了MDK5的安装与“注册”、安装固件包、新建新工程(特别介绍了新建工程中最后一步的运行环境管理器窗口,并介绍了通过选项配置需要的官方库)、新建程序示例、程序烧录的两种方式(生成HEX文件、用MDK上传程序)、ST-Link驱动的安装与使用。

依据上面文章新建工程,并在此基础上根据验证板原理图修改对应GPIO,以及对照标准库中GPIO.c和相关.h文件规范修改,最终修改形成我的main.c程序:

//这是一个点亮LED的程序,LED接在PA8,PB13,PB14,PB15
#include "stm32f10x_conf.h"

int main()
{
    //GPIO使能
	  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
	  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
	
	  //PA8
    GPIO_InitTypeDef GPIO_InitStruct8;
    GPIO_InitStruct8.GPIO_Pin   = GPIO_Pin_8;
    GPIO_InitStruct8.GPIO_Mode  = GPIO_Mode_Out_PP;
    GPIO_InitStruct8.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOA, &GPIO_InitStruct8);
	
	  //PB13
    GPIO_InitTypeDef GPIO_InitStruct13;
    GPIO_InitStruct13.GPIO_Pin   = GPIO_Pin_13;
    GPIO_InitStruct13.GPIO_Mode  = GPIO_Mode_Out_PP;
    GPIO_InitStruct13.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOB, &GPIO_InitStruct13);
	
		//PB14
    GPIO_InitTypeDef GPIO_InitStruct14;
    GPIO_InitStruct14.GPIO_Pin   = GPIO_Pin_14;
    GPIO_InitStruct14.GPIO_Mode  = GPIO_Mode_Out_PP;
    GPIO_InitStruct14.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOB, &GPIO_InitStruct14);
	
		//PB15
    GPIO_InitTypeDef GPIO_InitStruct15;
    GPIO_InitStruct15.GPIO_Pin   = GPIO_Pin_15;
    GPIO_InitStruct15.GPIO_Mode  = GPIO_Mode_Out_PP;
    GPIO_InitStruct15.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOB, &GPIO_InitStruct15);
		
    while (1) {
        //GPIO_WritePin(GPIOG, GPIO_PIN_13, GPIO_PIN_SET);
			//GPIO_SetBits(GPIOB,GPIO_Pin_14);
			//GPIO_SetBits(GPIOB,14);
			GPIO_WriteBit(GPIOA,GPIO_Pin_8,1);
			GPIO_WriteBit(GPIOB,GPIO_Pin_13,1);
			GPIO_WriteBit(GPIOB,GPIO_Pin_14,1);
			GPIO_WriteBit(GPIOB,GPIO_Pin_15,1);
			
    }
}

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

其他

CSDN引用-如何借助官网例程学习STM32
该文章介绍了官网例程的使用,注意是example中的文件拷至template(模板)项目中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值