sakthi priya amirtharaj / Mbed 2 deprecated slave_debug

Dependencies:   mbed

Fork of new_slave by sakthi priya amirtharaj

Committer:
sakthipriya
Date:
Thu Jan 22 14:37:23 2015 +0000
Revision:
1:541e44bb5f9b
Parent:
0:e2acb437847f
slave debug

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sakthipriya 0:e2acb437847f 1 #include "mbed.h"
sakthipriya 0:e2acb437847f 2 I2CSlave slave(D14,D15); //configuring pins p27, p28 as I2Cslave
sakthipriya 0:e2acb437847f 3 Serial pc (USBTX,USBRX);
sakthipriya 0:e2acb437847f 4 InterruptIn master_intrpt(D9);
sakthipriya 0:e2acb437847f 5
sakthipriya 0:e2acb437847f 6 DigitalOut slave_intrpt(D10);
sakthipriya 0:e2acb437847f 7
sakthipriya 0:e2acb437847f 8 int ack0 = 1;
sakthipriya 0:e2acb437847f 9 int ack1 = 1; //read/write mode for i2c 0 : write2slave, 1 : write2master
sakthipriya 0:e2acb437847f 10
sakthipriya 0:e2acb437847f 11
sakthipriya 0:e2acb437847f 12 char writedata;
sakthipriya 0:e2acb437847f 13 char readdata;
sakthipriya 0:e2acb437847f 14
sakthipriya 0:e2acb437847f 15 void FUNC_I2C_WRITE2CDMS()
sakthipriya 0:e2acb437847f 16 {
sakthipriya 0:e2acb437847f 17
sakthipriya 0:e2acb437847f 18 slave.address(0x20);
sakthipriya 1:541e44bb5f9b 19 while(ack0)
sakthipriya 1:541e44bb5f9b 20 {
sakthipriya 0:e2acb437847f 21 if(slave.receive()==1)
sakthipriya 0:e2acb437847f 22 {
sakthipriya 0:e2acb437847f 23 ack0=slave.write(&writedata,1);
sakthipriya 0:e2acb437847f 24
sakthipriya 0:e2acb437847f 25
sakthipriya 0:e2acb437847f 26 }
sakthipriya 0:e2acb437847f 27 else if(slave.receive()==3 || slave.receive()==2)
sakthipriya 0:e2acb437847f 28 {
sakthipriya 1:541e44bb5f9b 29 ack0=slave.read(&readdata,1);
sakthipriya 0:e2acb437847f 30 }
sakthipriya 1:541e44bb5f9b 31 printf("loop");
sakthipriya 0:e2acb437847f 32 }
sakthipriya 1:541e44bb5f9b 33 // if(!ack0 )
sakthipriya 1:541e44bb5f9b 34 //{
sakthipriya 1:541e44bb5f9b 35 printf("\ndata writen %d\n\r",writedata);
sakthipriya 1:541e44bb5f9b 36 printf("\n\r data read %d \n",readdata);
sakthipriya 1:541e44bb5f9b 37 //printf("\n \r %d %d %d %d %d\n",*data_reg,*status_reg,*c1_reg,*c2_reg,*freq_reg);
sakthipriya 1:541e44bb5f9b 38 /* }
sakthipriya 0:e2acb437847f 39 else
sakthipriya 0:e2acb437847f 40 {
sakthipriya 0:e2acb437847f 41 printf("\n\r data not written to slave \n");
sakthipriya 1:541e44bb5f9b 42 }*/
sakthipriya 1:541e44bb5f9b 43
sakthipriya 0:e2acb437847f 44 }
sakthipriya 0:e2acb437847f 45
sakthipriya 0:e2acb437847f 46
sakthipriya 0:e2acb437847f 47 void FUNC_INT()
sakthipriya 0:e2acb437847f 48 {
sakthipriya 0:e2acb437847f 49
sakthipriya 0:e2acb437847f 50 FUNC_I2C_WRITE2CDMS();
sakthipriya 0:e2acb437847f 51 slave_intrpt = 0;
sakthipriya 0:e2acb437847f 52 }
sakthipriya 0:e2acb437847f 53
sakthipriya 0:e2acb437847f 54
sakthipriya 0:e2acb437847f 55
sakthipriya 0:e2acb437847f 56
sakthipriya 0:e2acb437847f 57
sakthipriya 0:e2acb437847f 58 int main()
sakthipriya 0:e2acb437847f 59 {
sakthipriya 0:e2acb437847f 60 printf("\n slave started\n\r");
sakthipriya 1:541e44bb5f9b 61 slave_intrpt = 0;
sakthipriya 0:e2acb437847f 62 master_intrpt.rise(&FUNC_INT);
sakthipriya 0:e2acb437847f 63 while(1)
sakthipriya 0:e2acb437847f 64 {
sakthipriya 0:e2acb437847f 65 writedata = pc.getc();
sakthipriya 0:e2acb437847f 66 slave_intrpt=1;
sakthipriya 0:e2acb437847f 67
sakthipriya 0:e2acb437847f 68 }
sakthipriya 0:e2acb437847f 69
sakthipriya 0:e2acb437847f 70 }
sakthipriya 0:e2acb437847f 71