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.
i2cmaster.cpp
00001 #include "i2cmaster.h" 00002 00003 i2c::i2c(PinName sda, PinName scl) : I2C(sda, scl) 00004 { 00005 frequency(400000); 00006 } 00007 00008 void i2c::sendi2c(char addr, char registar, int data, int size) 00009 { 00010 if(size > 0) size = size; 00011 else if(data > 0xFFFFFF) size = 4; 00012 else if(data > 0xFFFF) size = 3; 00013 else if(data > 0xFF) size = 2; 00014 else size = 1; 00015 char DATA[4] = {data & 0xFF, (data>>8) & 0xFF, (data>>16) & 0xFF, (data>>24) & 0xFF}; 00016 char i2cData[3] = {size, registar, SendData}; 00017 write(addr, i2cData, 3); 00018 write(addr, DATA, size); 00019 } 00020 00021 int i2c::getSlaveData(char addr, char registar, int size) 00022 { 00023 char i2cData[3] = {size, registar, RequestData}; 00024 char getData[12] = {}; 00025 write(addr, i2cData, 3); 00026 read(addr, getData, size); 00027 return getData[0] | (getData[1] << 8) | (getData[2] << 16) | (getData[3] << 24); 00028 }
Generated on Wed Jul 13 2022 04:35:10 by
1.7.2