初识NUCLEO-G0B1RE+IKS4A1:简介+基础工程搭建

软件环境及硬件条件

  • Win10
  • CubeMX
  • CubeIDE
  • NUCLEO-STM32G0B1RE
  • X-NUCLEO-IKS4A1

硬件简介

NUCLEO-G0B1RE

通用特性

  • 采用LQFP64封装的STM32 微控制器与ARDUINO®共享的1个用户LED
  • 1个用户按钮和1个复位按钮
  • 32.768 kHz晶体振荡器
  • 板连接器:ARDUINO® Uno V3扩展连接器意法半导体的morpho延长引脚头,用于完全访问所有STM32 I/O
  • 灵活的供电选项:ST-LINK、USB VBUS或外部电源
  • 具有USB重新枚举功能的板上ST-LINK调试器/编程器:大容量存储器、虚拟COM端口和调试端口
  • 提供了全面的免费软件库和例程,可从STM32Cube MCU软件包获得
  • 支持多种集成开发环境(IDE),包括IAR Embedded Workbench®、MDK-ARM,以及STM32CubeIDE

特定板功能

  • 外部SMPS生成Vcore逻辑电源
  • 24 MHz HSE
  • 板连接器:外部SMPS实验专用连接器Micro-AB或Mini-AB USB连接器(用于ST-LINK)MIPI®调试连接器
  • 兼容Arm® Mbed Enabled™

相关管脚介绍

  • B1按键(蓝色):B1按键为用户按钮,其连接到stm32的PC13引脚上。
    在这里插入图片描述

  • UART2:串口,连接到stm32的PA2和PA3。
    在这里插入图片描述

  • LED:LED接在PA5上。
    在这里插入图片描述

此外,NUCLEO-G0B1RE通过CN5、CN6、CN8、CN9与X-NUCLEO-IKS4A1连接。

相关的详细文档我已经整理到一起了,链接可以在我的公众号“通信电子坊”回复“STM32资源”获取。或者也可以通过STM32官网找到。

X-NUCLEO-IKS4A1

特性

X-NUCLEO-IKS4A1是由STMicroelectronics推出的用于搭配STM32 Nucleo的运动MEMS和环境传感器扩展板,提供了在动作检测、环境监测等IoT领域的各种传感器的参考解决方案。

板载传感器:

  • LSM6DSO16IS:MEMS 3D加速度计 + 3D陀螺仪 与ISPU
  • LIS2MDL:MEMS 3D磁力计
  • LIS2DUXS12:超低功耗MEMS 3轴加速度计,低功率和高精度MEMS绝对数字输出气压计
  • SHT40AD1B:高精度超低功耗的温湿度传感器
  • STTS22H:低电压,超低功耗,0.5°C精度的温度传感器
  • LSM6DSV16X:MEMS 3D加速度计+ 3D陀螺仪

相关管脚介绍

在这里插入图片描述

NUCLEO-G0B1RE通过CN5、CN6、CN8、CN9与X-NUCLEO-IKS4A1连接。X-NUCLEO-IKS4A1的各个传感器均挂载在I2C总线上。

各个传感器的地址如下:
在这里插入图片描述

软件安装

主要就是安装CubeMX和CubeIDE这两个软件,可以直接在ST官网进行下载,但是官网访问的反应速度十分慢,也可以通过我提供的链接下载,链接可以在我的公众号“通信电子坊”回复“STM32资源”获取。

新建示例工程

CubeMX生成工程

安装传感器和运动算法软件扩展包

在这里插入图片描述
首先打开STM32CubeMX软件,在右侧选择install/remove,进入到embedded software packages manager界面。

在这里插入图片描述
在embedded software packages manager的STMicroelectronics中我们找到X-CUBE-MEMS1,选择最新版本(我这里目前最新为10.0.0),点击install,之后跟随提示即可完成传感器和运动算法软件扩展包的安装。

从ST Board新建工程

在这里插入图片描述
由于我们使用的是NUCLEO-G0B1RE开发板,这里可以直接从板卡创建工程。(当然也可以根据MCU型号进行创建)

在这里插入图片描述
在目录中找到并选中我们的板卡NUCLEO-G0B1RE,点击Strat Project开始我们工程的创建。

配置管脚

在这里插入图片描述
由于UART、LED等其它管脚软件已经自动帮我们配置好了,这里我们仅需要设置PB8、PB9分别为I2C1_SCL和I2C1_SDA,并将PC13修改为EXTI_13。

设置I2C和NVIC

在这里插入图片描述
由于I2C1默认是未启用的,因此需要我们自行将其启用。
在这里插入图片描述
在NVIC这里我们将EXTI的interrupt勾选上。

添加IKS4A1扩展

在这里插入图片描述
完成以上步骤后,我们来将IKS4A1添加到我们的工程中去。在顶部选择Select Components进入到Packs界面。

在这里插入图片描述
在Packs界面中我们找到X-CUBE-MEMS1。选择Application为IKS4A1_DataLogTerminal,并将Board Externsion IKS4A1选中。最后点击OK退出。

配置IKS4A1

在这里插入图片描述
在Middleware and Software Packs中我们选中X-CUBE-MEMS1,并将中间的两个选项都选上。之后再底部的Platform Settings中我们对相关的BSP管脚进行配置。

生成CubeIDE工程

在这里插入图片描述
完成以上步骤后,就能够生成我们的工程文件了。选择工程名称以及存储位置,并将IDE选择为STM32CubeIDE。最后点击右上方的GENERATE CODE即可完成工程生成。

CubeIDE下载工程

打开工程

在这里插入图片描述
在我们生成的工程目录下找到.project文件,双击即可打开该CubeIDE工程。

build工程

在这里插入图片描述
打开工程后,在左侧找到我们的工程并右键,点击Build Project即可进行工程的构建。

在这里插入图片描述
如果工程没有问题并且构建完成,在Console中会打印如上信息。

下载工程

最后我们需要将我们构建好的工程下载到我们的开发板上。

在这里插入图片描述
点击CubeIDE最上方的绿色小箭头,在弹出的窗口中选择OK,就能够将我们的程序下载到我们的开发板上啦!

在这里插入图片描述
最后打开我们的串口助手,选择相应的COM号,波特率设置为115200,打开串口即可看到采集到的传感器信息了。

参考资料

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-04-24 07:02:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-24 07:02:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-24 07:02:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-24 07:02:04       18 阅读

热门阅读

  1. 自己实现httpsession

    2024-04-24 07:02:04       12 阅读
  2. TinyWebServer学习笔记(一):WSL编译运行

    2024-04-24 07:02:04       12 阅读
  3. union节省内存

    2024-04-24 07:02:04       11 阅读
  4. c# ?? 、?.、??=、?[]运算符的使用

    2024-04-24 07:02:04       15 阅读
  5. 【贪心算法】Leetcode 763. 划分字母区间【中等】

    2024-04-24 07:02:04       14 阅读
  6. stl_list

    stl_list

    2024-04-24 07:02:04      11 阅读
  7. uniapp同步开发h5+小程序双平台踩坑记录

    2024-04-24 07:02:04       10 阅读
  8. 景区ar导览实景导航小程序系统开发源码搭建

    2024-04-24 07:02:04       14 阅读
  9. 深入了解 npm

    2024-04-24 07:02:04       14 阅读
  10. windows驱动开发-I/O请求(三)

    2024-04-24 07:02:04       14 阅读