我使用代码将Raspberry Pi与加速度计连接:
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <linux/i2c-dev.h>
#include "LSM9DS0.h"
void readBlock(uint8_t command, uint8_t size, uint8_t *data);
void selectDevice(int file, int addr);
void readACC(int *a);
void writeAccReg(uint8_t reg, uint8_t value);
void enableIMU();
int file;
void readBlock(uint8_t command, uint8_t size, uint8_t *data)
{
int result = i2c_smbus_read_i2c_block_data(file, command, size, data);
if (result != size)
{
printf("Failed to read block from I2C.");
exit(1);
}
}
void selectDevice(int file, int addr)
{
if (ioctl(file, I2C_SLAVE, addr) < 0) { …Run Code Online (Sandbox Code Playgroud)