news 2026/4/23 15:02:44

stm32单片机学习(一)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
stm32单片机学习(一)

一、新建工程

1.打开keil5->菜单栏的Project->New Project->选择工程文件夹->Ctrl+Shift+N快捷键新建文件夹->命名->新建工程Project->保存->选择芯片stm32f103c8

2.打开工程文件夹,在文件夹中再创建四个文件夹,分别是Start,Library,User,System

3.Start文件夹:打开固件库文件,①找到启动文件,Ctrl+A全选,Ctrl+C复制,放到Start文件夹下,②再找到stm32f10x.h,system_stm32f10x.c以及system_stm32f10x.h放到Start文件夹中,③最后再找到Core_cm3.c和Core_cm3.h,放到Start文件夹中,finished。

4.Library文件夹:打开库文件的标准外设驱动文件夹->src,全选,复制粘贴到Library文件夹中。

5.User文件夹:打开库文件中的Project文件夹,找到后缀为Template的文件夹,找到main.c和stm32f10x_conf.h,stm32xf10x_it.c,stm32xf10x_it.h这三个复制粘贴

6.System文件夹:存放系统资源的文件夹,如延时函数

7.回到keil5:

1)点击三个箱子的工程文件管理按钮,叉掉默认的组,新建三个组,Start,Library,User。

选中Start,添加这几个文件

选中Library,添加全部文件

选中User,添加全部文件

选中System,添加全部文件

2)点击魔术棒按钮,

选中C/C++,

在Include Paths这一栏,把我们建的文件都添加进来,Start,Library,User,System

在Define这一栏添加:USE_STDPERIPH_DRIVER

选中Debug,

use选中ST-Link,点击settings->Flash Download

勾上这几个->确定,ok

3)打开main.c,删掉全部代码,右键添加头文件以及添加主函数

分享一个小技巧:将keilkill.bat放到工程文件夹中,双击就会把中间文件删除,避免占用内存过多,方便分享给别人

二、GPIO的输入与输出

以点亮LED灯为例:PA0口

1.操作stm32的GPIO分三步

1)使用RCC开启GPIO时钟

开启GPIOA的APB2时钟(标准库写法):
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);

传入两个参数:

要使能的外设和外设时钟开关控制

2)GPIO初始化

先来了解一下GPIO的函数有哪些


GPIOx可以指定引脚

第一个为初始化引脚,初始化引脚需要定义结合体

关键结构体 GPIO_InitTypeDef

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 13:33:00

突破性S7NetPlus:开启跨平台PLC通信新纪元

突破性S7NetPlus:开启跨平台PLC通信新纪元 【免费下载链接】s7netplus 项目地址: https://gitcode.com/gh_mirrors/s7n/s7netplus 在现代工业自动化领域,跨平台PLC通信已成为提升生产效率的关键技术。S7NetPlus作为一款专业的工业自动化框架&…

作者头像 李华
网站建设 2026/4/23 13:32:04

如何让KlipperScreen成为你的3D打印控制中心?

如何让KlipperScreen成为你的3D打印控制中心? 【免费下载链接】KlipperScreen GUI for Klipper 项目地址: https://gitcode.com/gh_mirrors/kl/KlipperScreen KlipperScreen作为Klipper生态系统中的触摸屏GUI界面,正在重新定义3D打印操作体验。这…

作者头像 李华
网站建设 2026/4/23 13:31:47

Android离线语音识别终极指南:基于Whisper模型的完整解决方案

Android离线语音识别终极指南:基于Whisper模型的完整解决方案 【免费下载链接】whisper_android Offline Speech Recognition with OpenAI Whisper and TensorFlow Lite for Android 项目地址: https://gitcode.com/gh_mirrors/wh/whisper_android 在移动应用…

作者头像 李华
网站建设 2026/4/22 15:29:17

MediaPipe在Jetson Orin Nano上的终极安装指南:快速解决兼容性问题

MediaPipe在Jetson Orin Nano上的终极安装指南:快速解决兼容性问题 【免费下载链接】mediapipe Cross-platform, customizable ML solutions for live and streaming media. 项目地址: https://gitcode.com/gh_mirrors/me/mediapipe 在边缘计算设备上部署机器…

作者头像 李华
网站建设 2026/4/23 15:02:02

高效uni-app网络请求库luch-request的完整实践指南

高效uni-app网络请求库luch-request的完整实践指南 【免费下载链接】luch-request luch-request 是一个基于Promise 开发的uni-app跨平台、项目级别的请求库,它有更小的体积,易用的api,方便简单的自定义能力。 项目地址: https://gitcode.c…

作者头像 李华