首页 > 评测 > 环肥燕瘦,精彩纷呈——STM32F031K6开发板评测

环肥燕瘦,精彩纷呈——STM32F031K6开发板评测

STM32   F031K6   意法半导体      
  • 作者:netlhx
  • 来源:21ic
  • [导读]
  • ST 的官方评估板又添了新成员,今天测评的STM32F031K6 就是NUCLEO32 中的首批评估板。
5.STM32.jpg

中规中矩的一颗芯。

复位按钮

说实话,我是第一次看到这样的按钮,所以找了很久才找到。复位按钮的作用当然是用来给系统复位的。功能很简单,就怕你找不到!

ST-LINK/V2-1

板载ST-LINK/V2-1接口似乎已成ST官方开发板的标配,以前的DISCOVERY板只支持ST-LINK/V2,二者的差别之一就是前者能使用虚拟串口功能,这样,在与PC连接的时候就可以直接通过UART与PC通信,不再需要专门的串口模块了。

ST-LINK使用的是一颗STM32F103C8T6的芯,这在所有的ST-LINK/V2中都是一样的。注意这颗芯在开发板的背面。

IDD

IDD只是用来给你测功耗的,别的也没有什么用途。如果需要测量开发板的电流,拔掉这个跳线帽,用万用表连接上去就可以测量开发板的电流,进而评估开发板的功耗。不过这个IDD跳线太过纤弱,插拔要小心,我就是在使用万用表测试电流的过程中将这个小东西扯下来了。

关于供电

开发板提供了几种供电机制,使用非常灵活。

USB供电

可以通过USB直接从PC取电。需要注意的是在USB开始枚举之前,只会给ST-LINK供电,此时只需要100MA的电流。在USB进行枚举时,它向PC询问是否能提供300MA的电流,如果PC能够提供的话,此时开发板开始上电,同时LED LD2点亮。如果PC端不能满足此要求,则只能使用外部供电。

外部供电

外部供电有三种方案,VIN、+5V或+3V3。

当使用VIN或+5V的供电方案时,仍然能使用ST-LINK。只不过在这种情况下,需要先给板子供电,然后再连接PC,此时因为是外部供电,枚举肯定能够成功。使用外部VIN供电时,电压范围可以是7-12V,此时最大可以提供约800MA的电流,而使用+5V供电时,则能达到最大约500MA的电流。

使用CN4上的+3V3给板子供电时,此时ST-LINK上没有电,所以不能用来调试。

将USB与PC连接后,开发板开始上电工作,此时LED LD3开始闪烁,频率约为0.5HZ

 

代码测试

好了,板子也认识了解得差不多了,跑个代码。

准备工作

STM32的NUCLEO系列除了支持传统的GCC工具链之外,还支持M-BED云端开发。M-BED是一个在线开发环境,因为基于云端开发,所以能很好的实现代码共享,全球的STM32开发者都位于同一个平台,共享相同的代码。

本文使用MDK做为开发工具。自MDK 5.X推出后,使用的是一种新的称之为PACK的机制,即每个系列的MCU都有自己对应的PACK,所以在正式体验之前,先要到这里下载好对应的PACK。

http://www.keil.com/dd2/packs/,最新的版本是1.4。

将下载好的PACK导入到MDK开发工具中。

下载F0系列的官方示例代码。ST官方的代码库现在称为HAL库,区别于传统的STD库。HAL库是ST官方主推的开发库,STD库已不再更新和维护。从这里下载最新的官方HAL库。

http://www.st.com/web/en/catalog/tools/PF260612

最新版本也是1.4。

ST官方推出一个图形化编程工具STM32CUBEMX,在上面的链接中下载,安装。需要注意的是STM32CUBEMX需要JAVA支持,所以还要下载JAVA运行时支持包。

不赘述。

如果还没有安装ST-LINK/V2-1的驱动,在上面的页面中还要下载ST-LINK的驱动安装。正常安装后设备管理器里应出现如下的驱动。

9.jpg

生成代码

运行STM32CUBEMX代码生成工具,创建一个新的工程,选择对应的MCU,如下图

10.jpg

接下来选择外设,这里只使用了LED,通过查看原理图,LD3连接在PB3上。所以直接在PB3引脚上右击,选择GPIO_OUTPUT。

11.jpg

接下来设置时钟树,由于NUCLEO32板没有提供外部晶振接口,所以就只能使用HSI了。通过前面的介绍,我们知道STM32F031K6最高支持48MHZ的频率。故作如下配置

12.jpg

然后就是生成代码了,点击生成工程按钮

13.jpg

在弹出的工程设置对话框中作相应的设置

14.jpg

这样一个工程文件就生成了。需要注意的是,STM32CUBEMX只会给你生成工程文件的框架,并不会给你添加程序逻辑,所以要想实现自己的功能,就需要往这个框架里添加实现代码。

添加逻辑

使用MDK打开刚才生成的工程,打开main.c文件,在while循环里添加如下语句

/* Infinite loop */

  • 本文系21ic原创,未经许可禁止转载!

网友评论