完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
万物互联-stm32单片机简介、烧录、编程
前言:stm32单片机这里给出简单介绍,给不了解的朋友普及下硬件端的基本知识,叙述的较为简单,想深入研究的朋友可以去一些官方网站、william hill官网 、博客汲取知识。最下端会给出几个推荐的学习网址。 1、stm32单片机简介 1.1、STM32单片机系列简介 STM32单片机系列专为要求高性能、低成本、低功耗的嵌入式应用设计的ARM Cortex®-M0,M0+,M3, M4和M7内核按内核架构分为不同产品: 主流产品(STM32F0、STM32F1、STM32F3)、超低功耗产品(STM32L0、STM32L1、STM32L4、STM32L4+)、高性能产品(STM32F2、STM32F4、STM32F7、STM32H7) 基本型:STM32F101R6、STM32F101C8、STM32F101R8、STM32F101V8、STM32F101RB、STM32F101VB 增强型:STM32F103C8、STM32F103R8、STM32F103V8、STM32F103RB、STM32F103VB、 STM32F103VE、STM32F103ZE STM32型号的说明:以STM32F103RBT6这个型号的芯片为例,该型号的组成为7个部分,其命名规则如下: [tr]序号标识意义[/tr]
我这里主要对STM32F1系列中的stm32f103进行简单介绍,也为智慧农业小产品做个铺垫,智慧农业小产品源代码下方给出。 stm32f103单片机也有很多种类,这里是我用的那种,如果你用的跟我的不一样,也不必感到疑惑,这是正常的,但是它的功能都差不多一样,就可能一些引脚的数量上不一样或者其它的一些端口配置有些区别等等。 2、stm32f103单片机烧录程序 单片机要向执行指定的功能肯定是需要编写程序的,然后通过烧录软件进行烧录,那么如何烧录程序呢? 2.1这里给出两种烧录程序的方式。 1、通过与单片机直接相连的USB转接线进行烧录,通常情况下一端通过USB连接电脑,另一端通过与单片机的输入端直接相连,只适用于同样类型的单片机进行传输。以前用过,但是找不到图片了,这里就简单带过,了解一下有这种方法就行了,现在用的是第二种方法,也是主要介绍的。 2、通过下载器连接stm32单片机,将串口转换为端口。 这里连接时根据自己的需求对连接的串口进行更改,单片机的引脚与ST-LINK V2的引脚一般都不是一一对应的。 2.2下面给出烧录程序的具体步骤: 1、将ST-LINK V2将stm32f103单片机进行连接。 这里只看ST-LINK V2与stm32f103单片机就行,这是我自己做的那个智慧农业小产品的硬件原型。 2、连接好之后,再将ST-LINK V2与电脑的USB接口相连。 3、然后要安装STMicroelectronics驱动,如果已经安装了,则可以直接用,在此电脑->属性->设备管理器->通用串行总线设备里就可以看到STM32 STlink,这时已经可用。如下图所示 4、然后此时要下载STM32 ST-LINK Utility烧录软件,下载后解压就可使用,无需安装。打开的软件界面如下图所示: 此时还未连接单片机。 5、点击Target,点击下拉菜单中的connect连接单片机(此时下载器已经连接电脑如步骤2)。 6、点击program verify白色的小图标,然后选择项目目录下的OBJ文件夹,选中OBJ目录下的.hex文件。 7、导入成功后,点击start开始烧录,然后显示Verification… ok说明验证成功,程序已经成功烧录进去。 3、stm32单片机开发环境搭建 3.1、stm32单片机软件编程环境搭建 一个好的单片机编程环境无非就需要一个好的单片机编程开发工具。这样大家在进行单片机编程以及硬件开发的时候才会更加的得心应手。 stm32单片机编程的话一般常用的软件有很多,建议大家用keil mdk,原因是功能强大并且很好用,相比于keil更强大。当然还有其它的一些编程软件也挺好用的,诸如TrueStudio、IAR等等。 下面给出keil mdk的编程界面,外加一些基本常识标注,小白可以看看。 置于具体实现什么功能的编程之类的我就不在这里讲解了,毕竟我本身学的还不够精,还没本事讲解太深的东西。 3.2开发环境的搭建 在建立工程模板时,要新建几个文件夹,其中文件夹的名称和含义是:(这里指野火模板) 1.USER 用来存放工程文件和用户代码,包括主函数main.c,和用户自己写的一些.c文件 2.FWlib 用来存放 STM32 库里面的 inc 和 src 这两个文件,这两个文件包含了芯片上的所有驱动。 3.CMSIS 用来存放库为我们自带的启动文件和一些 M3系列通用的文件。这里就包含了Core文件中的内容,即核内外设访问层。 4.Uotput 用来保存软件编译后输出的文件。 5.Listing 用来存放一些编译过程中产生的文件。 当然命名的时候不一定都按这样命名,有时某些用不到或者细化了就另外命名,这样只是更加明确存储文件的作用,也方便查找修改,调用的时候也是直接用调文件进行调用就行了。这里就不进行详细的演示了。= |
||
|
||
只有小组成员才能发言,加入小组>>
2562 浏览 0 评论
1159浏览 2评论
762浏览 1评论
517浏览 0评论
273浏览 0评论
454浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-28 05:18 , Processed in 1.174762 second(s), Total 78, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号