nkjnm
Dependencies: MAX44000 nexpaq_mdk
Fork of LED_Demo by
main.cpp
00001 #include "mbed.h" 00002 #include "test_env.h" 00003 #include <stdio.h> 00004 00005 #define ADDR (0xA0) 00006 #define FREQ 100000 00007 00008 // ******************************************************** 00009 // This tests data transfer between two I2C interfaces on 00010 // the same chip, one configured as master, the other as 00011 // slave. Works on the LPC1768 mbed. 00012 // 00013 // Wiring: 00014 // p28 <-> p9 00015 // p27 <-> p10 00016 // pull-up resistors on both lines 00017 // ******************************************************** 00018 00019 00020 int main() 00021 { 00022 char sent = 'T', received; 00023 00024 master.frequency(FREQ); 00025 slave.frequency(FREQ); 00026 slave.address(ADDR); 00027 00028 // First transfer: master to slave 00029 master.start(); 00030 master.write(ADDR); 00031 master.write(sent); 00032 if(slave.receive() != I2CSlave::WriteAddressed) 00033 { 00034 notify_completion(false); 00035 return 1; 00036 } 00037 slave.read(&received, 1); 00038 if(sent != received) 00039 { 00040 notify_completion(false); 00041 return 1; 00042 } 00043 master.stop(); 00044 00045 // Second transfer: slave to master 00046 master.start(); 00047 master.write(ADDR | 1); 00048 if(slave.receive() != I2CSlave::ReadAddressed) 00049 { 00050 notify_completion(false); 00051 return 1; 00052 } 00053 slave.write(received); 00054 received = master.read(0); 00055 slave.stop(); 00056 notify_completion(received == sent); 00057 } 00058
Generated on Tue Jul 12 2022 17:03:47 by
1.7.2
