Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: BLE_API_Tiny_BLE MPU6050-DMP-Seeed-Tiny-BLE mbed
mbed_i2c.c
00001 00002 #include "i2c_api.h" 00003 00004 static i2c_t mbed_i2c_object; 00005 00006 void mbed_i2c_init(PinName sda, PinName scl) 00007 { 00008 i2c_init(&mbed_i2c_object, sda, scl); 00009 i2c_frequency(&mbed_i2c_object, 100000); 00010 } 00011 00012 int mbed_i2c_write(unsigned char slave_addr, 00013 unsigned char reg_addr, 00014 unsigned char length, 00015 unsigned char const *data) 00016 { 00017 int i; 00018 slave_addr = slave_addr << 1; 00019 i2c_start(&mbed_i2c_object); 00020 i2c_byte_write(&mbed_i2c_object, slave_addr); 00021 i2c_byte_write(&mbed_i2c_object, reg_addr); 00022 for (i = 0; i < length; i++) { 00023 i2c_byte_write(&mbed_i2c_object, data[i]); 00024 } 00025 i2c_stop(&mbed_i2c_object); 00026 return 0; 00027 } 00028 00029 int mbed_i2c_read(unsigned char slave_addr, 00030 unsigned char reg_addr, 00031 unsigned char length, 00032 unsigned char *data) 00033 { 00034 slave_addr = slave_addr << 1; 00035 i2c_write(&mbed_i2c_object, slave_addr, ®_addr, 1, 0); 00036 return (i2c_read(&mbed_i2c_object, slave_addr, data, length, 1) == length) ? 0 : 1; 00037 }
Generated on Tue Jul 12 2022 18:38:30 by
1.7.2