本次把玩的开发板是B-U585I-IOT02A,这款开发板的特色之处就是低功耗与M33内核,低功耗参数如下:
M33内核是基于M4内核基础上进行的功能拓展,主要具有TrustZone安全优势,针对物联网产品的一颗MCU。而且B-U585I-IOT02A的主频高达160MHz,闪存的2兆字节和SRAM的786千字节的大小,完全可以装下应用代码。
接下来介绍一下B-U585I-IOT02A的硬件部分。
开发板的正面。正面可以看到外设很多,有WiFi,蓝牙,存储也有,而且一般接口都引出了,十分方便,用户到手即用。
开发板背面,有一颗F723,这颗料是ST-LINK V3,速度比V2可好太多,而且价格还不贵,嘿嘿。
B-U585I-IOT02A的蓝牙模块特写,有时间一定要玩玩这部分。
接下来讲讲如何使用CubeMX进行对B-U585I-IOT02A进行硬件配置,CubeMX我之前安装过,但是没用过,知道这个软件很奈斯,可以可视化配置ST的MCU,然后还可以生成代码,但是之前都是使用STM32的标准库习惯了,突然使用HAL还有些不适应。这次就打破这个隔阂,学习一下新东西。
首先说一下,我电脑创建用户的时候,用了中文名字,而且安装CubeMX的时候选择了默认,所以在使用CubeMX的时候出现了一些问题,所以,如果你的电脑用户也是中文名称的时候,建议把CubeMX改一下位置,如下图所示。
接下来就可以愉快的使用CubeMX了,CubeMX开发之前需要下载固件包也就是从Manage embedded software packages中进行选择我们要开发的主控芯片型号。
管脚配置要知道外设都接了哪个IO,本次先点个灯,发现开发板的LED是PH6和PH7,设置好这俩IO为输出模式即可,也可以设置其名称,这个名称会在程序中体现出来。时钟方面先默认即可,接下来配置代码输出部分,设置一下工程名字,工程存储路径还有工具链,本次我使用的是MDK开发,所以工具链这块选择MDK-ARM。
创建好的代码,找到其路径,就可以看到有MDK的工程,直接打开。
值得注意的是,自己写的用户代码,需要加载到/* USER CODE BEGIN 3 */这种注释下面,否则当更新CubeMX之后,自己写的应用代码可能被优化没了。
最后,点灯成功,也算是把CubeMX用了起来,奈斯!!!下面是点灯的照片,每500ms闪烁一次。