【STM32入门教学】——材料准备与工程搭建

机器人工程系列文章目录

这里罗列了系列文章链接


概念总述

STM入门教学

在这里插入图片描述



前言

写点入门,嗯,感觉一对一教学效率很低,所以打算写篇STM32的入门教学,最好是傻瓜式教学我想。
咳咳,最近出差,手边没实物,实物演示等我回实验室慢慢更

关于嵌入式

展开一份工作前,最好对一份工作有着充分的价值认识,从科研人员角度出发,STM32最大程度上解决了复杂系统的控制硬件实现问题,丰富的控制接口可以应对机器人的大部分底层通讯与控制任务。

关于控制系统,可以参考下这篇文章。

而对于这样一个舵机系统,STM32则可以帮助您完成基本的数据通讯、位置传感与电机控制。

留意在机器人中,stm32的重点功能体现在

  1. 信号的采集(ADC电压测量)
  2. 信号的输出(PWM脉宽输出)
  3. 数据的交互(USART串口通讯)
  4. 定时任务的循环(TIMER定时器循环)

以上的方法通常不唯一,正所谓草木金石皆可为剑,但入门的话可以采取最简单的办法理解(括号里的实验)。

知识准备

食用本篇教程之前建议先有以下基础

  1. 使用过Arduino,并了解Arduino基本功能(DigitalWrite, DigitalRead, AnalogWrite, AnalogRead, Serial, Timer等等)。
  2. C/C++编程学习,多文件编译等等。
  3. 最好阅读过《微机原理》、《计算机原理》、《模拟电路》、《数字电路》等,如果觉得上述太难我推荐阅读《编码》(简单又囊括全部),当然你可以边学stm32边补充上述知识。

硬件准备

首先会需要手边有这几个东西,配置我按穷鬼设备算了(那些大型号的没什么用,买来只会吃灰),约摸50块就可以满足大部分的学习需求。

设备价格用途
STM32F411CEU6核心板20元主控板呢
ST-Link V220元刷程序与调试
CH340模块5元实现串口通讯

STM32F411CEU6核心板,体积小巧,便宜且功能强,可以胜任大部分初期学习的工作,你可以将它安装在面包板上,并快速完成飞线连接,搭建属于你自己的第一份嵌入式系统(注意很多F4有typeC接口,但不能接到提供高电压的TypeC设备中,会炸的)。
在这里插入图片描述
ST-Link,ST公司官方提供的嵌入式开发调试器,调试程序完全足够使用。
在这里插入图片描述

CH340模块,一种简易的USART转USB通讯的设备,你可以通过两根杜邦线连接到单片机上,并在电脑上使用XCOM软件观察到你的单片机和你说的悄悄话。
在这里插入图片描述

以上三件是必需品,嗯,以及面包板与若干杜邦线。
如果是富哥的话,可以考虑入一些万用表,便携示波器之类的,测试电路bug会更好些。
大学牲可以就近找找实验室,大部分的课题组应该很欢迎本科生入组学习。
还有一些电位计啊,舵机啊,电机啊,oled之类的电子元件,看个人喜好与工程需求,可以酌情购买并准备调试。

软件准备

编写stm32程序需要安装如下软件

设备用途
Keil5 MDK-Arm编译程序
ST-CubeMX配置stm32底层
XCOM观看串口数据

其中keil5是需要正版购买才能用的,这里也鼓励大家多支持正版

当然你的电脑大概率还需要补充这两个驱动
CH340设备驱动
STSW-LINK009

STM32 启动!

现在是一周后,你现在面前有着安装完各个软件的电脑,stm32开发板,和茫然不知所措的你。
我们先来把stm32和各个设备的连线做好。

硬件接线

使用ST-link进行系统调试,F4核心板屁股上有GND、CLK、DIO和3V3三根线,分别接入STLink的GND、SWCLK、SWDIO和3V3的接口中,其他的线不用管。

STM32F4STLINK功能
3V33V3供能
DIOSWDIO写入数据线
CLKSWCLK写入时钟线
GNDGND共地

接入电脑后,你的设备管理器中将会多出

使用CH340进行串口通讯,将RX接入PA9,TX接入PA10,记得接一下地线。

STM32F4CH340功能
3V33V3建议别接
PA9RX通讯线
PA10TX通讯线
GNDGND共地

接入电脑后,你的设备管理器中将会多出
整体的连接的效果大概是这样
在这里插入图片描述

cubemx 启动!

我们先选择芯片,这里大概需要登录并下载很长时间。
在这里插入图片描述
输入我们的核心板芯片型号STM32F411CEU6,并双击选中该芯片创建工程。
在这里插入图片描述
在左侧categories中选择RCC,并为HSE与LSE选择Crystal/Ceramic Resonator,你会发现右侧的芯片引脚上自动变绿了四个引脚(这个功能是开启了芯片的外部时钟输入功能,提供更加精准的时钟源。)
在这里插入图片描述
切换到SYS中,将Debug设置为Serial Wire。这个功能将芯片的PA13与PA14引脚设置为SWD调试接口,并将与STLink进行连接
在这里插入图片描述

切换到Clock Configuration界面,注意下边的HCLK将是我们芯片的运行主时钟速度,数值越高芯片运行速度越快,默认应该是16,这里我们将其设置为最大值100,并回车,软件将自动寻找时钟分配方案
在这里插入图片描述

选择Project Manager,设置好项目名称,项目地址(注意不要在中文目录或者奇怪字符的目录下,否则生成不成功),并设置好工具链MDK-ARM
在这里插入图片描述

转到Code Generator中,勾选Copy only the necessary library files和Generate peripheral initialization as a pair of ‘.c/.h’ files per peripheral
在这里插入图片描述
至此cubeMX设置成功,点击GENERATE CODE,我们将转战Keil5。

在这里插入图片描述

keil5 启动!

如果是刚刚下载的keil5,大概库下载器会给你下载很久的库文件,可以挂个梯子,下的更快一些
keil5的界面比较复古,我们一点点来,首先点击编译设置按钮
在这里插入图片描述
我们为程序选择编译器V6,速度更快
在这里插入图片描述
点击部分编译或全部编译,最终现实0 Error的时候表示编译成功

在这里插入图片描述
这个时候点击下载按钮,你的STLink大概率会兴奋地闪烁起来,虽然你并不知道具体发生了什么事情,但切切实实迈入了嵌入式大门的第一步。

下一章我将简单介绍串口与定时器的功能

  • 28
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值