Andy Little
/
hmc5883_test
Detect a HMC5883 magnetometer by reading the id registers for NUCLEO-L432KC
main.cpp
- Committer:
- skyscraper
- Date:
- 2018-08-30
- Revision:
- 0:10e9548cdb3d
- Child:
- 1:8cd11758eff3
File content as of revision 0:10e9548cdb3d:
#include "mbed.h" #include <I2C.h> #include <Serial.h> namespace { DigitalOut led1(LED1); Serial pc(USBTX, USBRX); // tx, rx I2C i2c(PA_10,PA_9); // I2C1 const uint8_t i2c_addr = 0x3D; // idreg const char id_regA = 10U; const char id_regB = 11U; const char id_regC = 12U; } int main() { //wait for mag to init Thread::wait(500); // move pointer to loc i2c.write(i2c_addr,&id_regA,1); char id_input[4]; i2c.read(i2c_addr,id_input,3); id_input[3] = '\0'; pc.printf("config got %s\n",id_input); //check we are still running for (;;){ led1 = !led1; Thread::wait(250); } }