草庐IT

STM32F103C8T6基础开发教程(HAL库)—开发环境配置

爱学习的蒙学长 2023-04-10 原文

STM32F103C8T6基础开发教程目录

  1. STM32F103C8T6基础开发教程(HAL库)—开发环境配置
  2. STM32F103C8T6基础开发教程(HAL库)—Keil添加注释的快捷键
  3. STM32F103C8T6基础开发教程(HAL库)—点亮第一颗LED灯
  4. STM32F103C8T6基础开发教程(HAL库)—LED灯交替闪烁
  5. STM32F103C8T6基础开发教程(HAL库)—LED灯呼吸闪烁
  6. STM32F103C8T6基础开发教程(HAL库)—等级划分LED灯亮度
  7. STM32F103C8T6基础开发教程(HAL库)—按键点亮LED灯
  8. STM32F103C8T6基础开发教程(HAL库)—定时器的使用
  9. STM32F103C8T6基础开发教程(HAL库)—串口发送与接收
  10. STM32F103C8T6基础开发教程(HAL库)—点亮OLED屏幕
  11. STM32F103C8T6基础开发教程(HAL库)—传感器使用
  12. STM32F103C8T6基础开发教程(HAL库)—读写内部FALSH
  13. STM32F103C8T6基础开发教程(HAL库)—LORA点对点通信

本节内容

  • JDK的下载与安装
  • Keil5的下载、安装、破译以及STM32F103Pack包的导入
  • STM32CubeMX的下载和安装以及固件包导入
  • CubeMX生成第一个工程

1.下载本节内容的安装包

1)文章末尾下载压缩包并解压

2)解压后得到它们

2.安装JDK

1)双击打开jre-8u341-windows-x64.exe

2)安装

3)关闭

3.Keil5的下载、安装、破译以及STM32F103Pack包的导入

1)双击打开MDK528A.EXE

2)Next

3)勾选I agre to all… → Next

4)Next

5)随便填即可 → Next

6)正在安装,等待即可

7)Finish

8)安装完成之后会弹出Pack包导入的界面,OK → 关闭即可

9)安装STM32F103 Pack包

(1)双击打开Keil.STM32L1xx_DFP.1.2.0.pack

(2)Next

(3)Finish

10)破译Keil5

(1)双击打开keil注册机2032年.zip→打开keygen.exe,不用解压也可以

注:把电脑管家之类的杀毒软件关掉

(2)打开keygen之后选择Target里的ARM

(3)右键管理员运行刚刚安装好的Keil5(一定要以管理员省份运行,不然破译不了)

(4)打开Keil5之后,File → License Management…

(5)复制Computer ID里的CID

(5)回到Keygen,粘贴到keygen里的CID,点击Generate生成秘钥

(6)复制生成的秘钥

(7)把秘钥粘贴在Keil5里的New License ID Code(LIC),点击Add LIC

(8)点击Add LIC,就会显示到期时间,破译成功,Close关闭即可

4.STM32CubeMX的下载和安装以及固件包导入

1)解压STM32CubeMx-Win_V6-6-1.zip

2)打开文件夹里的SetupSTM32CubeMX-6.6.1-Win.exe

3)Next

4)勾选I accept the … → Next

5)勾选I have read … → Next

6) Next

7) Next

8) 正在安装,等就行了

9) Next

10) Done

11)双击打开STM32CubeMX

12)Yes

13)INSTALL/REMOVE

14)找到STM32F1,勾选STM32Cube MCU…1.8.4 → Install

15)CubeMX会自动在线下载STM32F103固件,等待下载完成即可

16)STM32Cube MCU…1.8.4 → Install变绿了,Close关闭即可

5. CubeMX生成第一个工程

1)单击ACCESS TO MCU SELECTOR

2)CubeMX会自动在线下载补丁包

3)CubeMX下完补丁包弹出芯片选择界面,在Commercial搜索框输入F103C8T6右下方会自动出现STM32F103C8T6,双击即可

4)进入配置界面后单击System Core(系统的核心) → SYS → Debug → Serial Wire(这个是调试模式,如果不选Serial Wire则可能会使得无法使用Stlink或Jlink下载,如果你是用串口线下载,不调试,不选也没关系),这时PA13与PA14被用来做调试的LCK和DIO口,如果引脚不够用的情况可以不配置为LCK和DIO口,可以把PA13、PA14当做普通IO口使用(新手不建议)。

5)单击System Core(系统的核心) → RCC(配置晶振) → High speed Clock(HSE)(高速晶振)→ Crystal/Ceramic Resonator(外部晶振,8M)(如果这里选Disable则无法使用外部高速晶振),这时PD0与PD1被用来做晶振的接口,如果不配置则可以把PD0、PD1当做普通IO口使用(新手建议跟着笔者还是进行配置)。

6)单击Clock Configuration在这里输入72,按下回车 → OK,自动配置时钟频率为72Mhz



注:如果弹出这个窗口,不能使用72Mhz只能设置为64Mhz,那就是在RCC没有配置外部高速晶振,回去配置即可,如果还不行,那就是芯片选错了。

7)单击Project Manager → Project ,配置准备要生成的工程

8)单击Code Generator 单选Copy only the nacassary library files,勾选Generate peripheral…peripheral,上述的配置都设置好后就可以单击右上角的GENERATE CODE生成工程了。

9)打开工程

10)打开工程后,进入Keli5软件,依次打开工程结构树,双击main.c开始写源码

切忌:一定要在BEGIN END里写代码,不然后面STM32CubeMX重新配置生成代码会删除BEGIN END外面的代码

11)第一次使用Keil还需把编码格式设置为GB2312,否则自己打的注释会变成乱码,单击右上角的小扳手 → Editor → Encoding 设置为GB2312

结束语

本节叙述了JDK的下载与安装,Keil5的下载、安装、破译以及STM32F103Pack包的导入,STM32CubeMX的下载和安装以及固件包导入, CubeMX生成第一个工程,希望各位初学者认真跟着笔者一步一步的操作,笔者没有截图配置的地方不要乱动,至于其他配置的地方,会在以后的章节进行介绍。

  • JDK的下载与安装
  • Keil5的下载、安装、破译以及STM32F103Pack包的导入
  • STM32CubeMX的下载和安装以及固件包导入
  • CubeMX生成第一个工程

下节预告:为Keil添加注释的快捷键

学习交流QQ群

748555394

本节资源

视频教学
百度网盘: 开发环境
提取码:rsxc

有关STM32F103C8T6基础开发教程(HAL库)—开发环境配置的更多相关文章

  1. ruby - 使用 C 扩展开发 ruby​​gem 时,如何使用 Rspec 在本地进行测试? - 2

    我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当

  2. ruby-on-rails - 独立 ruby​​ 脚本的配置文件 - 2

    我有一个在Linux服务器上运行的ruby​​脚本。它不使用rails或任何东西。它基本上是一个命令行ruby​​脚本,可以像这样传递参数:./ruby_script.rbarg1arg2如何将参数抽象到配置文件(例如yaml文件或其他文件)中?您能否举例说明如何做到这一点?提前谢谢你。 最佳答案 首先,您可以运行一个写入YAML配置文件的独立脚本:require"yaml"File.write("path_to_yaml_file",[arg1,arg2].to_yaml)然后,在您的应用中阅读它:require"yaml"arg

  3. Ruby Sinatra 配置用于生产和开发 - 2

    我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm

  4. ruby - 是否可以覆盖 gemfile 进行本地开发? - 2

    我们的git存储库中目前有一个Gemfile。但是,有一个gem我只在我的环境中本地使用(我的团队不使用它)。为了使用它,我必须将它添加到我们的Gemfile中,但每次我checkout到我们的master/dev主分支时,由于与跟踪的gemfile冲突,我必须删除它。我想要的是类似Gemfile.local的东西,它将继承从Gemfile导入的gems,但也允许在那里导入新的gems以供使用只有我的机器。此文件将在.gitignore中被忽略。这可能吗? 最佳答案 设置BUNDLE_GEMFILE环境变量:BUNDLE_GEMFI

  5. ruby - 在 Windows 机器上使用 Ruby 进行开发是否会适得其反? - 2

    这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby​​-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub

  6. ruby-on-rails - 在 Rails 开发环境中为 .ogv 文件设置 Mime 类型 - 2

    我正在玩HTML5视频并且在ERB中有以下片段:mp4视频从在我的开发环境中运行的服务器很好地流式传输到chrome。然而firefox显示带有海报图像的视频播放器,但带有一个大X。问题似乎是mongrel不确定ogv扩展的mime类型,并且只返回text/plain,如curl所示:$curl-Ihttp://0.0.0.0:3000/pr6.ogvHTTP/1.1200OKConnection:closeDate:Mon,19Apr201012:33:50GMTLast-Modified:Sun,18Apr201012:46:07GMTContent-Type:text/plain

  7. 世界前沿3D开发引擎HOOPS全面讲解——集3D数据读取、3D图形渲染、3D数据发布于一体的全新3D应用开发工具 - 2

    无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD

  8. 【鸿蒙应用开发系列】- 获取系统设备信息以及版本API兼容调用方式 - 2

    在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList​()Obt

  9. Vscode+Cmake配置并运行opencv环境(Windows和Ubuntu大同小异) - 2

    之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m

  10. STM32读取串口传感器数据(颗粒物传感器,主动上传) - 2

    文章目录1.开发板选择*用到的资源2.串口通信(个人理解)3.代码分析(注释比较详细)1.主函数2.串口1配置3.串口2配置以及中断函数4.注意问题5.源码链接1.开发板选择我用的是STM32F103RCT6的板子,不过代码大概在F103系列的板子上都可以运行,我试过在野火103的霸道板上也可以,主要看一下串口对应的引脚一不一样就行了,不一样的就更改一下。*用到的资源keil5软件这里用到了两个串口资源,采集数据一个,串口通信一个,板子对应引脚如下:串口1,TX:PA9,RX:PA10串口2,TX:PA2,RX:PA32.串口通信(个人理解)我就从串口采集传感器数据这个过程说一下我自己的理解,

随机推荐