基于keil5新建STM32F10x寄存器版本工程

本文将指导你如何在Keil环境下使用C语言,通过STM32F103系列的寄存器操作,完成一个基础的LED亮灯项目,包括环境配置、工程新建及关键系统文件选择。适合初学者理解STM32库函数之外的底层开发方式。
摘要由CSDN通过智能技术生成

一、前言

前面文章分享了很多关于STM32F103系列知识点、物联网相关的小项目,工程都采用的是寄存器方式编写;很多小伙伴接触STM32开始都采用库函数编程,不清楚如何使用寄存器方式开发STM32;这篇文章就讲一下如何新建寄存器风格的STM32工程,并介绍需要用到哪些官方系统文件等。

比较具有代表性的几篇物联网教程:

1.  智慧农业项目(基于腾讯物联网服务器)

2.  遥控小车项目

3.  智能门锁项目(基于腾讯物联网服务器)

4.  物联网项目(基于阿里云物联网服务器)

5.  智能家居项目(基于中国移动OneNet物联网服务器)

二、环境介绍

开发环境: keil5.25

编程语言: C语言

操作系统: win10 64位

MCU型号: ST32F103C8T6 (F103系列都是通用的,区分容量即可)

库函数的版本: 3.5 (新建工程需要用到库函数包里的一些系统必要文件)

库函数资料包下载地址:  https://download.csdn.net/download/xiaolong1126626497/21469164

STM32系列简介:

STM32系列专为要求高性能、低成本、低功耗的嵌入式应用设计的。
主流产品(STM32F0、STM32F1、STM32F3)、超低功耗产品(STM32L0、STM32L1、STM32L4、STM32L4+)、高性能产品(STM32F2、STM32F4、STM32F7、STM32H7)

以STM32F103RBT6这个型号的芯片为例,该型号的组成为7个部分,其命名规则如下:

1

STM32

STM32代表ARM Cortex-M内核的32位微控制器。

2

F

F代表芯片子系列--通用系列。

3

103

103代表增强型系列。

4

R

R这一项代表引脚数,其中T代表36脚,C代表48脚,R代表64脚,V代表100脚,Z代表144脚,I代表176脚。

5

B

B这一项代表内嵌Flash容量,其中6代表32K字节Flash,8代表64K字节Flash,B代表128K字节Flash,C代表256K字节Flash,D代表384K字节Flash,E代表512K字节Flash,G代表1M字节Flash。

6

T

T这一项代表封装,其中H代表BGA封装,T代表LQFP封装,U代表VFQFPN封装。

7

6

6这一项代表工作温度范围,其中6代表-40——85℃,7代表-40——105℃。

STM32L电路的设计目的是以低电压实现高性能,有效延长电池供电设备的充电间隔。片上模拟功能的最低工作电源电压为1.8V。数字功能的最低工作电源电压为1.65V,在电池电压降低时,可以延长电池供电设备的工作时间。

从应用类别来说,STM32可以有以下用处:

1.  无人机制作:现在无人机主流的微控制器所用的就是stm32控制器。

2.  简单仪器仪表:stm32可以用作简单示波器、频率计,对采集的数字信号进行处理并送入屏幕显示。

3. 机器人:常看到的就是家用的扫地机器人,还要就是国内各种机器人比赛的小型机器人,几乎都用的是stm32控制器,毕竟现在stm32接口种类齐全、功能又多、价格便宜、资料齐全。

4. 电源控制器:全国电子设计大赛常考题的电源题,很多同学制作电源首选控制器也大多会选择stm32。
 

三、导入芯片包

如果在keil安装之后,后续想要安装其他的芯片的支持包,可以下载芯片的xxx.pack包直接导入。

四、新建工程

 

 

 

 

 

 

 

接下来就可以写代码点亮第一盏LED灯。

#include "stm32f10x.h"
int main()
{
	while(1)
	{
		
	}
}

STMicroelectronics STM32F1 Series Device Support, Drivers and Examples Version: 2.1.0 Keil.STM32F1xx_DFP.2.1.0.pack Updated CMSIS drivers: EMAC: Improved robustness by function checking that driver is powered (EMAC_FLAG_POWER) CAN: Corrected functionality when only one CAN controller is used Corrected pin remap configuration for CAN2 port pins Corrected functionality when NULL pointer is provided for one or both signal callbacks in Initialize function USB Device: Corrected Isochronous transfer Corrected IN Endpoint FIFO flush procedure USB Host: Removed interrupt priority handling Corrected multiple packet sending Corrected PowerControl function for unconditional Power Off USART: Corrected Peripheral Reset and Clock enable/disable (check if peripheral is available on selected device) Corrected CTS handling and added signal CTS change event. SPI: Corrected Peripheral Reset and Clock enable/disable (check if peripheral is available on selected device) Corrected Bus Speed configuration Corrected 8bit/16bit Data register access, regarding the Data frame size -I2C: Corrected invalid __I2C_DMA field in I2C_DMA_TxEvent and I2C_DMA_RxEvent functions Updated/added examples: Added examples using Network DualStack (IPv4/IPv6) Middleware targeting MCBSTM32C (Keil.MDK-Middleware.7.0.0.pack required) Updated emWin examples to emWin V5.32 Updated CAN examples Updated USB Host examples Updated USB Device CDC ACM VirtualCOM examples Updated RTE_Device.h: Corrected USART Pin configuration Added trace configuration to the debug description and updated Quick Start Guide
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

DS小龙哥

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

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

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

打赏作者

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

抵扣说明:

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

余额充值