green rosh
/
freemaster_write2master_working
i2c master with interrupt
Fork of freemaster2_1 by
Diff: main.cpp
- Revision:
- 0:9ea68477caaf
- Child:
- 1:8e4b5e1f8039
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Sat Dec 06 06:22:50 2014 +0000 @@ -0,0 +1,29 @@ +#include "mbed.h" + +const int addr = 0x20; //slave address +I2C master (D14,D15); //configure pins p27,p28 as I2C master +Serial pc (USBTX,USBRX); + +void main() +{ + printf("press backspace for master to start \n\r"); + while(1){ + if(pc.getc()==8){ + bool ack0 =true; + char *data = new char; + *data = 'b'; + bool loopvariable0 = true; + while(loopvariable0){ + printf("2 master clk freq setup and addressing slave\n\r"); + master.frequency(100000); //set clock frequency + master.start(); //initiating the data transfer + ack0 = (bool) master.read(addr,data,1); + if(!ack0){ + printf("3 master has read %c from slave\n\r",*data); + loopvariable0=false; + } + } + printf("done\n\r"); + } + } +} \ No newline at end of file