索引
一、嵌入式概述
作为刚刚学习完C语言的各位小白,一定困惑于如何将其加以应用。那别急,就让我们从MS Lab开始吧。MS(Microelectronic Systems,微电子系统),主要就是通过mbed(手中的这块不便宜的小板子)的内部计算及外界交互来控制其他元件或模块工作。
推荐阅读:《ARM快速嵌入式系统原型设计:基于开源硬件mbed》
二、基础元件
2.1、单片机(STM32 NUCLEO-L432KC)
首先让我们看一看这块板子。
下面是官方引脚介绍——
相信大家看到这张图的第一眼都会懵———
不过别急,来解释一下:
- 最上面是与电脑的接口,主要用于烧录程序和为mbed供电;
- 最上方的LD1和下面的LD2、LD3是板上自带的小灯,主要用于判断调试代码;
- 最下方的是复位按钮,可以强制重启程序;
- 两边的一大堆就是针脚,用于接线,和其他元件连接;
- 中间的一大块黑就是mbed的核心,它在一块小尺寸的印制电路板(PCB)上集成了mbed所有的控制器与支持电路,可以进行各种复杂处理;
下面解释一下两边彩色的标记
引脚 | 含义 | 备注 |
---|---|---|
PX_n | 各个引脚的准确名称 | 浅蓝色表示没有冲突,深蓝色则表示会有冲突(最好不用) |
GND | 接地针脚 | 无 |
5V,3V3 | 提供稳定持续的固定电压 | 不受其他因素影响 |
Dn,An | 主板上写有的名字 | 在代码及其他应用中主要是使用这些名称,D表示数字输出(Digital),A表示模拟输出(Analog) |
UNRT,SPI, I2C,CAN,USB | 各种通信协议 | 表示多个设备之间的通信规定,无需过多了解 |
PWMX/Y | 输出性质可控的方波 | 多用作控制信号 |
ADC,DAC | 模拟与数字信号相互转换 | 无 |
这时候再看图是不是轻松许多?
例如D10,很容易就发现它支持常规数字I/O输出及PWM方波输出,同时支持SPI、UART等多种通信协议。
注意:
1、A4、A5的ADC只能输入,不能输出;
2、D7、D8不能使用;
3、建议参考STM32 L432KC datasheet,获取更多内容;
2.2、面包板
撕开后面的绝缘胶带(一定记得贴回去!!!),就不难发现在中间的两行中每竖直的5个孔相连,而边缘上相邻的5个水平的孔相连,但相隔较远的每5个孔相互断开。(如图红线所示)
其中红线所表示的便是相连的区域。
2.3、示波器(Oscilloscope)
在深入学习示波器之前,着重提醒下:示波器的使用非常重要!非常重要!非常重要!
2.3.1、实验室线材介绍
首先介绍一下示波器线——
而在MS的实验中,我们只需要用到示波器线。
使用时只需将一端接入示波器的CH口并旋转锁死,另一端的鳄鱼夹夹住GND,对于探针则将帽子下压,用伸出的钩子钩住针脚即可。
2.3.2、示波器用法
示波器上全是英文按键,放出一张图,看不懂的话可以参考下下…
注:使用时务必先检查线的好坏。
检测方法:将鳄鱼夹夹在示波器右下角的下探头上,探针接触上探头,按下auto键,观察Freq(频率)读数,显示1kHz为正常;
使用:
- 功能选择按钮用于选择屏幕上的选项,最上方白色按钮旋转用于切换,按下表示确定;
- 信号选择按钮需点亮对应频道的灯,按一次点亮,再按熄灭;
- 调整波形旋钮:左上方旋钮用于调整波形整体上下移动;有上方旋钮用于调整波形整体左右移动;左下方旋钮用于调整波形振幅;右下方旋钮用于调整波形周期;(波不变,只是方便观察)
- 哥测量参数按钮用于打开测量;
2.4、万用表
刚拿到万用表的新手小白可能会比较疑惑怎么用~~
实物展示先——
- 使用流程
1、拔下表笔末端的保护套,接在万用表上(一般接在COM及VmAuA两挡位之间);
2、转动中间旋钮调整到合适挡位(测电压时注意直流交流,一般选取20V挡位);
3、调至短路档位时(带有声音标记),将两表笔短接,蜂鸣器报警,表示两表笔之间短路,一般用于检测电路连接是否有断路,或焊接是否已接好;
4、按下浅蓝键可开启背灯光;
2.5、软件
2.5.1、介绍
最后一项准备…最后一个问题…
我们使用什么软件呢?
那自然要引出最终boss————Mbed Studio!
附上官方下载连接:https://os.mbed.com/studio/
2.5.2、建立第一个新项目
1、打开Mbed Studio,选择左上角file–New program;
2、“Example program”选择“mbed-os-empty”,“Program name”随便命名 (注意不能有中文路径或中文字符);
3、点击“Add Program”,从左侧文件夹列表中选择新命名项目文件夹(如"test1"),打开其中 "main.cpp"文件**(以后所有代码都在这里写啦)**;
4、打开“Target”菜单,下拉找到NUCLEO-L432KC,同时将mbed连接上电脑,出现绿色标识,表示成功连接;代码写好后,只需点击蓝色三角即可烧录,发现mbed上LED闪烁即烧录成功。
*注:如果出现头文件"mbed.h"找不到的情况,有可能是总文件夹下以下两个文件夹没有生成:
打开C盘–Users–25346–Mbed Programs–test1,找到资源后将这两个文件夹复制进去就好啦。
三、些许感悟
说了这么多,想必大家也对第一个实验充满期待!在之后正式的实验中,我们会学习应用各种各样的函数,使用各式各样的元器件,或被毫无思绪的问题弄得焦头烂额,或对着各式元件全英文而且看不懂的datasheet望而生叹;或对着难以理解的繁杂的代码苦苦支持,或看向总是不显示预期结果的显示屏而无言以对…这些结果,无不随时陪伴着我们。
本人所做最初的project便是液晶显示屏。简简单单的引脚插了无数次,而看似基础的代码却又改了整整两天。在这过程中,无论是上网搜索资料,还是翻阅书籍寻求解决办法,亦或是询问他人、讨论诀窍——这一切一切,无非坚持二字。“世上无难事,只要肯登攀”,唯有坚持,才能将成功路上的一切绊脚石化为尘土,变为垫脚石,成为成功之基石。而当最后发现你已成功,看着显示屏显示出正确结果的一刹那,一切皆有所值。
四、参考资料
1、微信公众号:格院生存指南 / MS LAB | Part 1