Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Fork of minimal_i2c_mother by
master.cpp@0:d3bdf717512e, 2014-11-20 (annotated)
- Committer:
- nghansen
- Date:
- Thu Nov 20 16:13:26 2014 +0000
- Revision:
- 0:d3bdf717512e
- Child:
- 1:92677fbab5f1
initial commit
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| nghansen | 0:d3bdf717512e | 1 | #include "mbed.h" |
| nghansen | 0:d3bdf717512e | 2 | |
| nghansen | 0:d3bdf717512e | 3 | I2C Bus(p28, p27); |
| nghansen | 0:d3bdf717512e | 4 | int slaveAddress; |
| nghansen | 0:d3bdf717512e | 5 | |
| nghansen | 0:d3bdf717512e | 6 | Serial Usb(USBTX, USBRX); |
| nghansen | 0:d3bdf717512e | 7 | char buffer[16] = {'T', 'e', 's', 't', 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; |
| nghansen | 0:d3bdf717512e | 8 | int ack; |
| nghansen | 0:d3bdf717512e | 9 | |
| nghansen | 0:d3bdf717512e | 10 | DigitalOut sent(LED1); |
| nghansen | 0:d3bdf717512e | 11 | DigitalOut received(LED2); |
| nghansen | 0:d3bdf717512e | 12 | |
| nghansen | 0:d3bdf717512e | 13 | void resetBus() |
| nghansen | 0:d3bdf717512e | 14 | { |
| nghansen | 0:d3bdf717512e | 15 | Bus.stop(); |
| nghansen | 0:d3bdf717512e | 16 | Bus.start(); |
| nghansen | 0:d3bdf717512e | 17 | return; |
| nghansen | 0:d3bdf717512e | 18 | } |
| nghansen | 0:d3bdf717512e | 19 | |
| nghansen | 0:d3bdf717512e | 20 | int main() |
| nghansen | 0:d3bdf717512e | 21 | { |
| nghansen | 0:d3bdf717512e | 22 | slaveAddress = 0x02; |
| nghansen | 0:d3bdf717512e | 23 | resetBus(); |
| nghansen | 0:d3bdf717512e | 24 | |
| nghansen | 0:d3bdf717512e | 25 | while (1) |
| nghansen | 0:d3bdf717512e | 26 | { |
| nghansen | 0:d3bdf717512e | 27 | for(int i = 0; i < sizeof buffer; buffer[i++]=0x00); |
| nghansen | 0:d3bdf717512e | 28 | Usb.scanf("%s", buffer); |
| nghansen | 0:d3bdf717512e | 29 | Usb.printf("%s \n\r", buffer); |
| nghansen | 0:d3bdf717512e | 30 | |
| nghansen | 0:d3bdf717512e | 31 | ack = Bus.write(slaveAddress & 0xFE, buffer, 16); |
| nghansen | 0:d3bdf717512e | 32 | if(ack == 0) |
| nghansen | 0:d3bdf717512e | 33 | Usb.printf(" ...Ack \n\r"); |
| nghansen | 0:d3bdf717512e | 34 | |
| nghansen | 0:d3bdf717512e | 35 | ack = Bus.write(0, buffer, 16); |
| nghansen | 0:d3bdf717512e | 36 | if(ack == 0) |
| nghansen | 0:d3bdf717512e | 37 | Usb.printf("Ack from broadcast \n\r"); |
| nghansen | 0:d3bdf717512e | 38 | |
| nghansen | 0:d3bdf717512e | 39 | Bus.read(slaveAddress | 1, buffer, 16, 0); |
| nghansen | 0:d3bdf717512e | 40 | Usb.printf("Received: %s \n\r", buffer); |
| nghansen | 0:d3bdf717512e | 41 | } |
| nghansen | 0:d3bdf717512e | 42 | } |
