pay d
Dependencies: mbed-rtos mbed-src mbed
Fork of I2C_HelloWorld_Mbed by
main.cpp@1:e42651c601d2, 2015-06-13 (annotated)
- Committer:
- raizel_varun
- Date:
- Sat Jun 13 11:13:00 2015 +0000
- Revision:
- 1:e42651c601d2
- Parent:
- 0:f76c26307f9a
pay d
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mbed_official | 0:f76c26307f9a | 1 | #include "mbed.h" |
raizel_varun | 1:e42651c601d2 | 2 | #include "rtos.h" |
mbed_official | 0:f76c26307f9a | 3 | |
raizel_varun | 1:e42651c601d2 | 4 | const int addr = 0x20<<1; //slave address |
raizel_varun | 1:e42651c601d2 | 5 | I2C master (D14,D15); //configure pins p27,p28 as I2C master |
raizel_varun | 1:e42651c601d2 | 6 | Serial pc (USBTX,USBRX); |
raizel_varun | 1:e42651c601d2 | 7 | //DigitalOut interrupt(D9); |
raizel_varun | 1:e42651c601d2 | 8 | //InterruptIn data_ready(D10); |
raizel_varun | 1:e42651c601d2 | 9 | InterruptIn aple(D11); |
mbed_official | 0:f76c26307f9a | 10 | |
raizel_varun | 1:e42651c601d2 | 11 | DigitalOut pes(D12); |
raizel_varun | 1:e42651c601d2 | 12 | DigitalOut led(LED_RED); |
raizel_varun | 1:e42651c601d2 | 13 | DigitalOut led1(LED_GREEN); |
raizel_varun | 1:e42651c601d2 | 14 | |
raizel_varun | 1:e42651c601d2 | 15 | |
mbed_official | 0:f76c26307f9a | 16 | |
raizel_varun | 1:e42651c601d2 | 17 | bool f = 1; |
raizel_varun | 1:e42651c601d2 | 18 | char rdata; |
raizel_varun | 1:e42651c601d2 | 19 | void readds() |
raizel_varun | 1:e42651c601d2 | 20 | { //wait(); |
raizel_varun | 1:e42651c601d2 | 21 | led = ! led ; |
raizel_varun | 1:e42651c601d2 | 22 | f = master.read(addr,&rdata,1); |
raizel_varun | 1:e42651c601d2 | 23 | if(f == 0) led1 = ! led1 ; |
raizel_varun | 1:e42651c601d2 | 24 | //pc.printf("read %d \n",rdata); |
raizel_varun | 1:e42651c601d2 | 25 | |
raizel_varun | 1:e42651c601d2 | 26 | } |
raizel_varun | 1:e42651c601d2 | 27 | |
raizel_varun | 1:e42651c601d2 | 28 | int loop=1; |
raizel_varun | 1:e42651c601d2 | 29 | char *writedata = new char; |
raizel_varun | 1:e42651c601d2 | 30 | void FUNC_MASTER_WRITE() |
raizel_varun | 1:e42651c601d2 | 31 | { int data = pc.getc(); |
raizel_varun | 1:e42651c601d2 | 32 | loop=1; |
mbed_official | 0:f76c26307f9a | 33 | |
raizel_varun | 1:e42651c601d2 | 34 | pc.printf("read "); |
raizel_varun | 1:e42651c601d2 | 35 | master.frequency(100000); |
raizel_varun | 1:e42651c601d2 | 36 | *writedata = data; |
raizel_varun | 1:e42651c601d2 | 37 | while(loop) |
raizel_varun | 1:e42651c601d2 | 38 | { |
raizel_varun | 1:e42651c601d2 | 39 | bool check = (bool)master.write(addr,writedata,1); |
raizel_varun | 1:e42651c601d2 | 40 | //pc.printf("read "); |
raizel_varun | 1:e42651c601d2 | 41 | if(check==0) |
raizel_varun | 1:e42651c601d2 | 42 | { |
raizel_varun | 1:e42651c601d2 | 43 | pc.printf("written\n"); |
raizel_varun | 1:e42651c601d2 | 44 | loop=0; |
raizel_varun | 1:e42651c601d2 | 45 | //readds(); |
raizel_varun | 1:e42651c601d2 | 46 | |
raizel_varun | 1:e42651c601d2 | 47 | } |
raizel_varun | 1:e42651c601d2 | 48 | |
raizel_varun | 1:e42651c601d2 | 49 | } |
raizel_varun | 1:e42651c601d2 | 50 | } |
raizel_varun | 1:e42651c601d2 | 51 | int main() |
raizel_varun | 1:e42651c601d2 | 52 | { |
raizel_varun | 1:e42651c601d2 | 53 | |
raizel_varun | 1:e42651c601d2 | 54 | //data_ready.rise(&FUNC_INT); |
raizel_varun | 1:e42651c601d2 | 55 | printf("\nstarted master\n"); |
raizel_varun | 1:e42651c601d2 | 56 | // aple.mode(PullDown); |
raizel_varun | 1:e42651c601d2 | 57 | aple.rise(&readds); |
raizel_varun | 1:e42651c601d2 | 58 | //aple.rise(&readds); |
raizel_varun | 1:e42651c601d2 | 59 | while(1) |
raizel_varun | 1:e42651c601d2 | 60 | |
raizel_varun | 1:e42651c601d2 | 61 | { |
raizel_varun | 1:e42651c601d2 | 62 | pc.printf("read %d \n",rdata); |
raizel_varun | 1:e42651c601d2 | 63 | //pes = 1; |
raizel_varun | 1:e42651c601d2 | 64 | //wait(5); |
raizel_varun | 1:e42651c601d2 | 65 | //pes = 0; |
raizel_varun | 1:e42651c601d2 | 66 | //wait(5); |
raizel_varun | 1:e42651c601d2 | 67 | // if(aple==1)led=!led; |
raizel_varun | 1:e42651c601d2 | 68 | //FUNC_MASTER_WRITE(); |
mbed_official | 0:f76c26307f9a | 69 | } |
mbed_official | 0:f76c26307f9a | 70 | } |