Hello,
I want to read external accelerometer on nrf9160dk using I2C. But when I connect SDA and SCL pins of sensor to nrf91, there is no output.
The Code is:
#include <nrf9160.h>
#include <zephyr.h>
#include <misc/printk.h>
#include <i2c.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#define I2C_ACCEL_READ_ADDR 60
struct device * i2c_accel;
u8_t I2C_BUFFER[35];
void init_accelerometer(){
i2c_accel = device_get_binding("I2C_2");
if (!i2c_accel) {
printk("error\r\n");
}
i2c_configure(i2c_accel, I2C_SPEED_SET(I2C_SPEED_FAST));
}
void main(void)
{
printk("Start I2C comminication\r\n");
init_accelerometer();
while (1) {
i2c_read(i2c_accel, I2C_BUFFER, 29, I2C_ACCEL_READ_ADDR);
printk("I2C_BUFFER = %s\n", I2C_BUFFER);
}
}
When I don't connect sensor to nrf91, then continuously it prints "I2C_BUFFER ="
When I connect the sensor, everything stops and when I again remove the pins it prints "I2C_BUFFER ="
What I am doing wrong? How to read these sensors value?
Thank you