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.
main.cpp@2:bdf472bb6179, 2022-04-26 (annotated)
- Committer:
- micros22eq7
- Date:
- Tue Apr 26 04:41:15 2022 +0000
- Revision:
- 2:bdf472bb6179
- Parent:
- 1:bc94073c58bd
- Child:
- 3:edb0044a1052
v3
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| micros22eq7 | 1:bc94073c58bd | 1 | //CÓDIGO 2-B |
| micros22eq7 | 1:bc94073c58bd | 2 | |
| fernando_moraless | 0:f1c4da32d334 | 3 | #include <mbed.h> |
| fernando_moraless | 0:f1c4da32d334 | 4 | |
| micros22eq7 | 2:bdf472bb6179 | 5 | Serial pc(USBTX, USBRX); |
| micros22eq7 | 2:bdf472bb6179 | 6 | |
| fernando_moraless | 0:f1c4da32d334 | 7 | I2CSlave slave(I2C_SDA, I2C_SCL); |
| fernando_moraless | 0:f1c4da32d334 | 8 | |
| fernando_moraless | 0:f1c4da32d334 | 9 | char addr = 0xA0; |
| fernando_moraless | 0:f1c4da32d334 | 10 | |
| fernando_moraless | 0:f1c4da32d334 | 11 | int main() |
| fernando_moraless | 0:f1c4da32d334 | 12 | { |
| micros22eq7 | 2:bdf472bb6179 | 13 | char buf[30]; |
| micros22eq7 | 2:bdf472bb6179 | 14 | char msg[] = "Respuesta de Slave"; |
| micros22eq7 | 2:bdf472bb6179 | 15 | //pc.printf("\033[1;1H"); //Mueve cursor al origen |
| micros22eq7 | 2:bdf472bb6179 | 16 | pc.printf("\r"); |
| micros22eq7 | 1:bc94073c58bd | 17 | pc.printf("I'M SLAVE\r\n"); |
| micros22eq7 | 2:bdf472bb6179 | 18 | |
| fernando_moraless | 0:f1c4da32d334 | 19 | slave.address(addr); |
| fernando_moraless | 0:f1c4da32d334 | 20 | slave.frequency (100000); |
| micros22eq7 | 2:bdf472bb6179 | 21 | pc.printf("SLAVE ID: %d\r\n",addr); |
| micros22eq7 | 2:bdf472bb6179 | 22 | |
| micros22eq7 | 2:bdf472bb6179 | 23 | while (1) |
| fernando_moraless | 0:f1c4da32d334 | 24 | { |
| fernando_moraless | 0:f1c4da32d334 | 25 | int i = slave.receive(); |
| fernando_moraless | 0:f1c4da32d334 | 26 | switch (i) { |
| fernando_moraless | 0:f1c4da32d334 | 27 | case I2CSlave::ReadAddressed: |
| fernando_moraless | 0:f1c4da32d334 | 28 | slave.write(msg, strlen(msg) + 1); // Includes null char |
| micros22eq7 | 2:bdf472bb6179 | 29 | NVIC_SystemReset(); |
| fernando_moraless | 0:f1c4da32d334 | 30 | break; |
| fernando_moraless | 0:f1c4da32d334 | 31 | case I2CSlave::WriteGeneral: |
| micros22eq7 | 2:bdf472bb6179 | 32 | slave.read(buf, 30); |
| micros22eq7 | 2:bdf472bb6179 | 33 | printf("Read General: %s\n", buf); |
| fernando_moraless | 0:f1c4da32d334 | 34 | break; |
| fernando_moraless | 0:f1c4da32d334 | 35 | case I2CSlave::WriteAddressed: |
| micros22eq7 | 2:bdf472bb6179 | 36 | slave.read(buf, 30); |
| micros22eq7 | 2:bdf472bb6179 | 37 | printf("Read Addressed: %s\n", buf); |
| fernando_moraless | 0:f1c4da32d334 | 38 | break; |
| fernando_moraless | 0:f1c4da32d334 | 39 | } |
| micros22eq7 | 2:bdf472bb6179 | 40 | for (int i = 0; i < 30; i++) { |
| fernando_moraless | 0:f1c4da32d334 | 41 | buf[i] = 0; // Clear buffer |
| fernando_moraless | 0:f1c4da32d334 | 42 | } |
| fernando_moraless | 0:f1c4da32d334 | 43 | } |
| fernando_moraless | 0:f1c4da32d334 | 44 | } |