在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何通過SPI方式讀取BMI088傳感器數據

454398 ? 來源:一板網 ? 作者:天南地北客 ? 2020-10-28 16:13 ? 次閱讀

BMI088傳感器是一款六軸傳感器模塊,內部帶有一個16位的加速度傳感器模塊和一個16位的陀螺儀模塊。該傳感器支持SPI和I2C接口。在本篇文章中,我們將使用NUCLEO-G070RB開發板通過SPI方式讀取BMI088傳感器的數據,并通過串口打印輸出。

所需的組件

● NUCLEO-G070RB開發板

● YBX-BMI088(SPI)加速度傳感器模塊(淘寶鏈接)

● 連接跳線

● Micro USB線纜

連接方式

以下是NUCLEO-G070RB開發板與BMI088模塊的連接方式:

BMI088模塊連接到NUCLEO-G070RB的SPI1接口,對應的引腳分別是PA5(SCK)、PA6(MISO)和PA7(MOSI),加速度計的片選引腳CS1連接到PB0,陀螺儀的片選引腳CS2連接到PB3。BMI088模塊的VCC連接到+5V引腳,GND引腳連接到NUCLEO-G070RB的任意GND引腳。

代碼

首先我們使用STM32CubeMX工具生成工程文件,根據硬件連接方式選擇引腳的功能,然后啟用SPI1通訊。SPI1選擇全雙工主機模式(Full-Duplex Master),硬件NSS信號選擇Disable。在參數設置中,數據位大小選擇8位,MSB優先。選擇合適的分頻系數。在無法進行通訊的情況下,可以適當降低SPI1外設的頻率。

生成KEIL工程后,接下來我們需要將BOSCH官方提供的BMI088驅動集成到工程里面。

首先,將 bmi085.c、bmi085.h、bmi088.c、bmi088.h、bmi08a.c、bmi08g.c、bmi08x_defs.h以及bmi08x.h文件復制到工程所在的目錄,然后添加到工程中。在bmi08x_defs.h使能以下宏定義來啟用BMI088功能。

#ifndef BMI08X_ENABLE_BMI088

#define BMI08X_ENABLE_BMI088 1

#endif

在main.c文件中包含以下頭文件:

#include “bmi08x.h”

#include “bmi088.h”

然后定義一個bmi08x結構體,該結構體定義了使用的是I2C還是SPI接口,以及讀寫操作所需的函數指針。

struct bmi08x_dev dev = {

.accel_id = CSB1_Pin,

.gyro_id = CSB2_Pin,

.intf = BMI08X_SPI_INTF,

.read = &stm32_spi_read,//user_spi_read,

.write = &stm32_spi_write,//user_spi_write,

.delay_ms = &HAL_Delay//user_delay_milli_sec

};

接下來,初始化BMI088傳感器,設置加速計和陀螺儀的量程、帶寬和工作模式等。然后使用以下函數讀取BMI088的傳感器數據:

/* Read the sensor data into the sensor data instance */

rslt = bmi08a_get_data(&user_accel_bmi088, &dev);

/* Read the sensor data into the sensor data instance */

rslt = bmi08g_get_data(&user_gyro_bmi088, &dev);

將傳感器數據打印輸出至串口:

printf(“x:%d”,user_accel_bmi088.x);

printf(“\t”);

printf(“y:%d”,user_accel_bmi088.y);

printf(“\t”);

printf(“z:%d”,user_accel_bmi088.z);

printf(“\t”);

printf(“x:%d”,user_gyro_bmi088.x);

printf(“\t”);

printf(“y:%d”,user_gyro_bmi088.y);

printf(“\t”);

printf(“z:%d”,user_gyro_bmi088.z);

printf(“\t”);

rslt = bmi08a_get_sensor_temperature(&dev,&bmi08x_sensor_temp);

if (rslt == BMI08X_OK)

{

printf(“Temp:%.3f”, bmi08x_sensor_temp/1000.0);

}

else

{

printf(“BMI088 Get Sensor Temperature Error\n”);

}

printf(“\n”);

輸出結果

將程序下載到NUCLEO-G070開發板中,運行程序,串口監視器將顯示接收到的數據:

編輯:hfy

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 傳感器
    +關注

    關注

    2552

    文章

    51302

    瀏覽量

    755229
  • 陀螺儀
    +關注

    關注

    44

    文章

    787

    瀏覽量

    98825
  • 加速度傳感器

    關注

    12

    文章

    473

    瀏覽量

    55182
收藏 人收藏

    評論

    相關推薦

    ADS1278通過SPI通信協議讀取轉換數據時遇到的疑問求解

    我用的是TI的ADS1278進行六通道電壓同步采樣,工作在SPI的TDM,離散數據模式。在通過SPI通信協議讀取轉換
    發表于 01-14 06:31

    ADS1118通過SPI讀取內部溫度傳感器發現讀取的溫度比實際環境溫度要高出4-5℃,是什么原因導致的呢?

    我目前正在使用ADS1118這個芯片,通過SPI讀取內部溫度傳感器發現讀取的溫度比實際環境溫度要高出4-5℃,請問這個可能是什么原因導致的
    發表于 12-20 08:01

    請問ADS8685IPWR如何通過SPI讀取數據

    請問哪個是通過SPI 讀取 數據的寄存?謝謝
    發表于 11-22 06:31

    實現MCU與傳感器的通信方式

    在現代電子系統中,微控制單元(MCU)與傳感器的通信是實現智能控制和數據采集的基礎。隨著技術的發展,MCU與傳感器之間的通信方式也在不斷進
    的頭像 發表于 11-01 13:43 ?453次閱讀

    如何通過tlv320aic3206 spi接口讀取mic接口的數據,然后將讀取到的數據在發給耳機?

    求幫助!!!!我現在使用的音頻芯片是tlv320aic3206,我想通過arm芯片spi接口讀取mic接口的數據,然后將讀取到的
    發表于 10-24 07:36

    傳感器數據怎么傳到云平臺

    傳感器數據傳到云平臺,通常可以通過以下幾種方式實現: 1. 直接連接 網絡接口 :傳感器可以通過
    的頭像 發表于 09-07 10:59 ?2247次閱讀

    LM95071-Q1SPI/MICROWIRE 13位帶符號溫度傳感器數據

    電子發燒友網站提供《LM95071-Q1SPI/MICROWIRE 13位帶符號溫度傳感器數據表.pdf》資料免費下載
    發表于 08-14 10:53 ?0次下載
    LM95071-Q1<b class='flag-5'>SPI</b>/MICROWIRE 13位帶符號溫度<b class='flag-5'>傳感器</b><b class='flag-5'>數據</b>表

    LM95071 SPI/MICROWIRE 13位帶符號溫度傳感器數據

    電子發燒友網站提供《LM95071 SPI/MICROWIRE 13位帶符號溫度傳感器數據表.pdf》資料免費下載
    發表于 08-14 10:46 ?0次下載
    LM95071 <b class='flag-5'>SPI</b>/MICROWIRE 13位帶符號溫度<b class='flag-5'>傳感器</b><b class='flag-5'>數據</b>表

    LM74 SPI/Microwire12位溫度傳感器數據

    電子發燒友網站提供《LM74 SPI/Microwire12位溫度傳感器數據表.pdf》資料免費下載
    發表于 08-14 09:50 ?0次下載
    LM74 <b class='flag-5'>SPI</b>/Microwire12位溫度<b class='flag-5'>傳感器</b><b class='flag-5'>數據</b>表

    LM70 SPI/MICROWIRE 10位帶符號數字溫度傳感器數據

    電子發燒友網站提供《LM70 SPI/MICROWIRE 10位帶符號數字溫度傳感器數據表.pdf》資料免費下載
    發表于 08-14 09:28 ?0次下載
    LM70 <b class='flag-5'>SPI</b>/MICROWIRE 10位帶符號數字溫度<b class='flag-5'>傳感器</b><b class='flag-5'>數據</b>表

    TMP125 帶SPI接口的2°C精確數字溫度傳感器數據

    電子發燒友網站提供《TMP125 帶SPI接口的2°C精確數字溫度傳感器數據表.pdf》資料免費下載
    發表于 08-13 10:26 ?0次下載
    TMP125 帶<b class='flag-5'>SPI</b>接口的2°C精確數字溫度<b class='flag-5'>傳感器</b><b class='flag-5'>數據</b>表

    1.5°C精確可編程數字溫度傳感器,帶SPI?接口數據

    電子發燒友網站提供《1.5°C精確可編程數字溫度傳感器,帶SPI?接口數據表.pdf》資料免費下載
    發表于 08-13 10:09 ?0次下載
    1.5°C精確可編程數字溫度<b class='flag-5'>傳感器</b>,帶<b class='flag-5'>SPI</b>?接口<b class='flag-5'>數據</b>表

    驅動LSM6DS3TR-C實現高效運動檢測與數據采集(9)----獲取磁力計數據

    本文將介紹如何使用 LIS2MDL 傳感器讀取數據。主要步驟包括初始化傳感器接口、驗證設備ID、配置傳感器
    的頭像 發表于 08-02 15:47 ?767次閱讀
    驅動LSM6DS3TR-C實現高效運動檢測與<b class='flag-5'>數據</b>采集(9)----獲取磁力計<b class='flag-5'>數據</b>

    如何通過電機的霍爾傳感器讀取位置實現位置環控制?

    如何通過電機的霍爾傳感器讀取位置實現位置環控制
    發表于 03-19 08:04

    如何通過電機的霍爾傳感器讀取位置實現位置環控制?

    如何通過電機的霍爾傳感器讀取位置實現位置環控制
    發表于 03-06 07:18
    主站蜘蛛池模板: 国产综合图片| 成人的天堂视频一区二区三区| 亚洲三级电影| 人人干天天操| 久久成人免费网站| 久久久久久久蜜桃| 色a在线| 一级特黄色片| 亚洲第一成人影院| 特级淫片aaaaa片毛片| 中国一级特黄真人毛片免费看| 中韩日欧美电影免费看| 亚洲人成在线精品| 色香影院| 久久午夜宅男免费网站| 韩国一级网站| 在线免费观看视频| 欧美7777kkkk免费看258| 天天爽夜夜爽人人爽免费| yy6080理aa级伦大片一级| 亚洲精品视频在线看| 国产经典一区| 亚洲免费一级片| 免费一级毛片在级播放| jlzzjlzz亚洲日本| 天天视频一区二区三区| 一级毛片aaa片免费观看| 色六月婷婷| 黄色三级网站免费| 午夜影视在线免费观看| 亚洲午夜视频在线| 夜夜爱夜夜做| 久久久精品2021免费观看| 黄色高清视频网站| 好大好硬好爽免费视频| 全是肉的高h短篇列车| 日本一级高清不卡视频在线| 一级黄免费| 欧美无遮挡国产欧美另类| 免费看欧美一级特黄a大片| 免费恐怖片|