11-16-2020 03:17 PM
Hi
I used the official program to initialize BMI270, but there was an error in the initialization program
BMI270_Arduino_example_1:44:10: error: 'struct bmi2_dev' has no member named 'dev_id'
bmi2.dev_id = BMI270_CS;
#include <SPI.h>
#include <bmi2.h>
#include <bmi270.h>
#include <bmi270_context.h>
#include <bmi2_defs.h>
#include <bmi2_ois.h>
#include <Arduino.h>
#define BMI270_CS SS
#define BMI270_INT1 6
/* Callback function prototypes for the BMI270 Sensor API */
int8_t bmi2_spi_read(uint8_t dev_id, uint8_t reg_addr, uint8_t *data, uint16_t len);
int8_t bmi2_spi_write(uint8_t dev_id, uint8_t reg_addr, const uint8_t *data, uint16_t len);
void bmi2_delay_us(uint32_t period);
/* Static variables */
static struct bmi2_dev bmi2;
static volatile bool bmi2_intr_recvd = false;
static volatile uint32_t last_time_us = 0;
void setup(void)
{
int8_t rslt;
Serial.begin(115200);
while (!Serial.available()); // Wait for an input to proceed
pinMode(LED_BUILTIN, OUTPUT);
/* Use either the SPI or I2C configuration */
// /* Start of SPI configuration */
SPI.begin();
pinMode(BMI270_CS, OUTPUT);
digitalWrite(BMI270_CS, LOW);
delay(1);
digitalWrite(BMI270_CS, HIGH); // Toggle the chip select to switch into SPI mode
delay(10);
bmi2.dev_id = BMI270_CS;
bmi2.read = bmi2_spi_read;
bmi2.write = bmi2_spi_write;
bmi2.delay_us = bmi2_delay_us;
bmi2.intf = BMI2_SPI_INTERFACE;
bmi2.read_write_len = 8192;
bmi2.config_file_ptr = NULL; // Use the default BMI270 config file
/* End of SPI configuration */
rslt = bmi270_init(&bmi2);
print_rslt(rslt);
attachInterrupt(BMI270_INT1, bmi2_intr1_callback, RISING);
//rslt = configure_sensor(&bmi2);
//print_rslt(rslt);
}
11-17-2020 08:44 PM
Hallo , Minhwan
Thank you very much for your help, but during the compilation process I found that I was missing a header file. I don’t know if this header file is particularly important
DueTimer.h: No such file or directory
#include <SPI.h>
#include <DueTimer.h>
#include "Wire.h"
#include "bmi2.h"
#include "bmi270.h"
11-18-2020 12:47 AM
Hello Eason,
My example code is Arduino and if you don't use timer, you don't have to include it 🙂
Thanks,
11-27-2020 12:28 AM
Hallo, Minhwan
Thank you for your help. Could you tell me ,how can I connect BMI270 with Arduino Due? And which Pins should I use ?
12-01-2020 10:46 PM
Hello Eason,
Here is the pin mapping I used 🙂