无线电爱好网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

无线电爱好网 首页 技术应用 初学入门 查看内容

STM32的几种开发方式,你都知道吗?

2025-4-17 09:07| 发布者: 闪电| 查看: 1| 评论: 0

摘要: 经常有人会问,你们STM32编程是用库函数 还是用寄存器的...会说库函数方便,容 易,都用库函数...等等这样的问题,今天我们就来 dis 一下这几种编程方式,STM32 编程 目前常见的几种形式如下:1. 使用标准外设库开发 ...

经常有人会问,你们 STM32 编程是用库函数 还是用寄存器的...会说库函数方便,容 易,都用库函数...等等这样的问题,今天我们就来 dis 一下这几种编程方式,STM32 编程 目前常见的几种形式如下:

1. 使用标准外设库开发 2.使用寄存器开 3.使用 CubeMax 生成代码工具开发 下面我们先来说一下目前这几种形式的区别:

1.使用标准外设库开发

Stm32 标准外设库是 stm32 官方提供给用户的全系列芯片的外设驱动,官方把单片机 外设的功能进行包装,提供给用户一个现成的接口函数,用户不用去管寄存器到底是如何操 作的,直接调用接口函数,即可使用这些外设。在这个基础上你直接开发你的应用层程序即 可

这个驱动包名字一般是 STM32Fxxx_StdPeriph_Lib_Vx.x.x 有了它可以大大加速我们 开发 stm32。我们以 STM32F10x_StdPeriph_Lib_V3.5.0 驱动包为例,解压该 zip 文件,得 到如下文件夹和文件

_htmresc

Libraries

Project

Utilities

Release_Notes.html

stm32f10x_stdperiph_lib_um.chm

其中 Libraries 包含库的源代码,Project 包含 stm32 各个外设的使用范例和一个工程模 板,Utilities 是使用 st 公司评估板的例子,stm32f10x_stdperiph_lib_um.chm 教我们怎么用 标准外设库

2. 使用寄存器开发

使用寄存器开发,用户需要自己去操作底层外设寄存器,实现想要的外设功能,这个过 程是需要自己对照手册,一行一行把代码敲出来的

3. 使用 CubeMax 开发

这个是官方提供的图形化的一键生产代码的工具,在这个 IDE 中我们只要根据你想要 的功能,点点鼠标就可以生成你想要的功能,但是注意这个功能只是你想要的单片机外设 配置功能,并不是你的应用程序功能,比如你想要以一个什么样的方式通讯,还是需要你自 己去完善的。如下图是图形化开发的界面:

上面我们以简洁明了的描述了三种编程方式的使用方式和编程过程,接下来我们来分析 一下这三种方式的优缺点:

第一种方法,官方提供了现成的驱动库,用户可以直接使用,使用起来方便,快捷,开 发速度快,相对起来也容易上手一点,但是对底层的寄存器操作原理了解不深,只知其一不知其二,出了问题,解决起来比较麻烦。且官方的驱动库为了容错性高一些等原因,会引 入一些判断机制,相对复杂一些,但是实际上有的东西是我们用不到的,这就会造成代码执 行效率会相对低一些

第二种方法,虽然开发起来相对来说比较慢一些,比较繁琐一些,但是接触的都是真正 的底层内容,出了问题,我们也能从源头来快速分析解决问题,而且写的代码中省去了一些 不必要的判断过程,执行效率会相对高一些,代码看起来也会清爽一些

第三种方法,使用 IDE 开发,这个相比较来讲入门是最快的,不用接触那些库函数接口, 也不用去理会那些寄存器操作,只要在图形化的界面上勾选一些选项就可以了,这简直是懒 人必备神器啊,但是话说回来,这种开发方式,基本上接触单片机底层内容为 0%,只要写 应用程序就可以了,出了问题更难解决。如果换了个平台,没有这种方便的 IDE,怎么办呢?


路过

雷人

握手

鲜花

鸡蛋

QQ|关于本站|小黑屋|Archiver|手机版|无线电爱好网 ( 粤ICP备15040352号 ) 无线电爱好技术交流5 无线电爱好技术交流1无线电爱好技术交流9开关电源讨论群LED照明应用、电源无线电爱好技术交流4无线电爱好技术交流8无线电爱好技术交流10无线电爱好技术交流11

粤公网安备 44030702001224号

GMT+8, 2025-4-17 09:07 , Processed in 0.124800 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

返回顶部