STM32入门教程——点亮一个LED

2023-05-16

        STM32系列MCU被广泛的应用,新学者想学习单片机或嵌入式时,可以先从STM32入手,本文介绍如何使用STM32单片机点亮一个LED.

        开发环境搭建

1)keil mdk安装

        stm32系列MCU可以使用多种IDE进行开发,这里以KEIL MDK为例进行说明。首先安装KEIL MDK,KEIL MDK可以从keil官网进行下载,官网地址如下:https://www.keil.com/。Keil MDK是收费软件,可以使用工具生成license(keygen MDK5.00 keil),提倡购买正版license哈。破解方法与安装mdk的方法这里就不描述了。百度可以搜出大把大把的教程。

 2)芯片支持包安装(keil 5开始就需要单独安装支持包)

        keil mdk对不同的芯片使用对应的支持包,安装Keil MDK后可以使用根据自己的芯片从ST官方网站上下载对应芯片的支持包,这里以STM32F1为例,从ST官方网站中下载K_STM32F1xx_DFP.2.1.0.pack文件,然后导入KEIL MDK中。先后点击以下两图红框的位置,即可根据提示选中要导入的芯片包。

导入成功后,会看到如下图所示芯片包。

新建LED点亮工程

        首先启动KEIL MDK,在菜单栏选择Project->New uVision Project...,根据提示选择工程存放的路径,输入工程名称,并进行下一步,出现如下对话框,选择芯片型号,这里需要根据自己的STM32型号选择合适的芯片,此处以STM32F103C8为例,如下图所示:

         点击OK后,进入manage run-time enviorenment对话框,如下图所示:

  根据需要进行选择, 本工程选择如上几个即可,确定后进入工程界面,如下图所示:

 

此时点击编译按钮,编译器会报错,如下图所示:

         根据编译错误的提示可知,是由于没有定义main函数,此时需要自己添加main.c文件,并实现自己的main函数。点击下图中红框的按钮,新建一空白文件,并通过按ctrl+s键进行保存,将文件命名为main.c。可看到如下视图:

        注意此时的main.c文件并没有添加自己的工程中,需要通过右击Source Group1,选择添加现有文件到Source Group1中,添加成功后如下图所示:

        在main.c中定义main函数,再进行编译,即可编译通过。至此,工程已经新建完成。

编译LED驱动

        根据硬件电路连接,编写控制LED点亮的代码。本人使用的ARM板,GPIO的PIN4连接LED控制信号,高电平点亮LED,低电平熄灭LED。LED的驱动主要包括gpio初始化和LED电平控制。为了让工程整洁,单独新建led_driver.c文件,使用上述添加main.c的方法将led_driver.c添加至工程。led_driver.h与led_driver.c代码如下:

        在main.c中调用函数即可LED的点亮。如下图所示:

         此时,点亮一个LED工程完全搞定。那么程序如何运行的,怎么进入main函数的?如何进行debug?如何将程序烧到ARM板中,将在下一篇文章中介绍。

例程下载

stm32f103点亮LED程序-嵌入式文档类资源-CSDN下载

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

STM32入门教程——点亮一个LED 的相关文章

  • module ‘tensorflow‘ has no attribute ‘ConfigProto‘/‘Session‘问题的解决

    查看Tensorflow是GPU还是CPU可在终端输入以下代码 import tensorflow as tf a 61 tf constant 1 0 2 0 3 0 4 0 5 0 6 0 shape 61 2 3 name 61 39
  • FileNotFoundError: [Errno 2] No such file or directory

    解决方案 xff1a 1采用绝对路径的方法来打开文件 23python程序和要打开的文件在同一个文件夹下 3把对应的文件的后缀名去掉 xff01 路径名是get wd 有了后续再补充
  • 卷积神经网络Conv2D参数说明 input_shape

    keras layers Conv2D filters kernel size strides 61 1 1 padding 61 39 valid 39 data format 61 None dilation rate 61 1 1 a
  • line 117, in linspace num = operator.index(num)TypeError: 'numpy.float64' object cannot be interp

    记录一下错误和解决方案 C Users wei virtualenvs pyqt51 EL5sW8oD Scripts python exe E work facode 0finger app enhance image enhance p
  • 卷积神经网络(CNN)模型结构可视化工具

    最近写毕设需要模型图找了几个可视化工具 可视化工具 本文主要介绍Netscope和ConvNetDraw Netscopehttps cuijiahua com netscope quickstart html ConvNetDraw Co
  • 指纹识别基础之ORB特征提取

    加载训练图像 在 ORB 中 xff0c 将要被寻找的目标图像被称为训练图像 xff08 training image xff09 定位关键点 我们将使用 OpenCV 的 ORB 实现定位关键点并创建相应的 ORB 描述符 ORB 算法的
  • Linux内核启动及文件系统加载过程

    Linux 内核启动及文件系统加载过程 当 u boot 开始执行 bootcmd 命令 xff0c 就进入 Linux 内核启动阶段 xff0c 与 u boot 类似 xff0c 普通 Linux 内核的启动过程也可以分为两个阶段 xf
  • cnn模型参数调整

    1 卷积核 卷积核的大小 根据7 7与3 3卷积核loss值的对比可以发现 xff0c 在初始阶段卷积核较大时准确率更低 xff0c 因为卷积核越 大每一次训练时丢弃的特征值越多 但是 xff0c 随着训练 次数的增加 xff0c 卷积核较
  • 混凝土的强度预测(R语言 超详细完整代码介绍)神经网络+线性回归

    任务背景 在工程领域中 xff0c 对建筑材料的性能有精确的估计至关重要 这些估计是必需的 xff0c 以便制定安全准则来管理用于楼宇 桥梁和道路建设中的材料 估计混泥土的强度是一个特别有趣的挑战 尽管混泥土几乎要用于每一个建设项目 xff
  • 数据库(数据库系统)大作业

    2019 2020学年第 2 学期 课程编号 xff1a 410802057课程名称 xff1a 数据库应用 考试形式 xff1a 大作业答辩 一 设计考核说明 xff1a 运用所学的数据库原理与数据库应用知识 xff0c 基于数据库管理系
  • 《数据结构及应用算法教程》(修订版)严蔚敏、陈文博版 学习记录及资料

    考研需要这本书 xff0c 之前是买的书本 xff0c 但回家没带书需要找这本书电子版 xff0c PPT xff0c 答案找了好久 xff0c 整理了一下csd 上有但都需要20多币 xff0c 心疼我钱包微笑的币 xff0c 资料请看最
  • 数据结构 绪论+视频资料(修订版)严蔚敏、陈文博版

    资料 xff08 我感觉老师讲的不错 xff0c 通俗易懂 需要自取 xff0c 比较有逻辑 老师是赵海英 xff09 链接 https pan baidu com s 1zJ 6nvT 0Ya21liHuQS sw 密码 496e htt
  • 数据结构之串和数组基本知识和问题

    串 1 串 xff08 又称字符串 xff09 是一种特殊的线性表 xff0c 它的每个结点仅由一个字符组成 从数据结构的观点来说 xff0c 串是一种特殊的线性表 但就数据类型而言 xff0c 串不是线性表 串 xff08 String
  • 计算机考研复试之C语言简答题 开放题目

    为考研准备整理 xff0c 参考网络资料课本资料 xff0c 主要是c的简答开放题目有用的话可以点个赞 xff0c 可以看着目录尝试自己回答后在进行往下看 目录 特点 c 语言的主要用途 xff1a c语言为什么要规定 xff0c 对所有使
  • 复试数据结构之排序知识点+简答题

    排序方法的选用一般考虑的原则有 xff1a xff08 1 xff09 待排序的记录个数n xff0c xff08 2 xff09 记录的大小 xff08 3 xff09 关键字的分布情况 xff1b 4 对排序稳定性的要求等 平均时间性能
  • 数据结构之图 和问答题

    数据结构之图 和问答题 目录 数据结构之图 和问答题 图的定义和术语 图的存储结构 图的遍历 连通网的最小生成树 单源最短路径 拓扑排序 关键路径 广义表 图的定义和术语 邻接点 度 入度 出度 路径 路径长度 简单路径 简单回路 连通图
  • 复试口语常见话题整理以及华师18 19年topic

    报考华师已经上岸整理往年英语topic和一些常考话题 以及2020复试口语 xff0c 今年问题比较常规问了家乡 xff0c 喜欢的书 电影 规划报考学校等 辛苦整理 xff0c 有用记得点赞 目录 针对于自己不熟悉的话题的时候 xff1a
  • Vim配置

    1 比较全的Vim配置 34 Vim通用配置 set nocompatible 34 be iMproved required syntax on set confirm 34 在处理未保存或只读文件的时候 xff0c 弹出确认 set a
  • 知识追踪理论入门

    what 知识追踪 xff08 Knowledge Tracing xff09 是根据学生过去的答题情况对学生的知识掌握情况进行建模 xff0c 从而得到学生当前知识状态表示的一种技术 便我们能准确地预测学生对于各个知识概念的掌握程度 xf
  • 多媒体集成课程设计要求

    学 院 数计学院 出卷教师 XX 系主任签名 制卷份数 专 业 计算机科学与技术 班级编号 B14082021 41 51 XX大学2018 2019学年第 2 学期 考 核 要 求 课程编号 xff1a 400802003 课程名称 xf

随机推荐