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 LiquidCrystal_I2C_for_KL25Z
Revision 1:5f15147dfad8, committed 2022-04-26
- Comitter:
- micros22eq7
- Date:
- Tue Apr 26 05:26:07 2022 +0000
- Parent:
- 0:3e5902ddcd6e
- Child:
- 2:498f4d75c4bc
- Commit message:
- v5;
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Mon Apr 25 18:47:38 2022 +0000
+++ b/main.cpp Tue Apr 26 05:26:07 2022 +0000
@@ -21,50 +21,53 @@
int main()
{
- pc.printf("\x1b[2J"); //CLEAR
- pc.printf("\033[1;1H"); //Mueve cursor al origen
-
- char buf[50];
+ PwmOut rled(LED1);
+ PwmOut gled(LED2);
+ PwmOut bled(LED3);
+
+ float x, y, z;
+
+ pc.printf("\r\n");
+ char buf[16];
// Inicia la LCD
lcd.begin();
-
+
slave.address(addr);
slave.frequency (100000);
- pc.printf("SLAVE ID: %d\r\n", addr);
-
+
lcd.clear();
- lcd.print("I'M SLAVE");
- char msg[] = " *Si* ";
- while (1)
+ lcd.print("Datos obtenidos:");
+ char msg[] = "Respuesta slave";
+ while (1)
{
int i = slave.receive();
-
+
switch (i) {
case I2CSlave::ReadAddressed:
- slave.write(msg, strlen(msg) + 1); // Includes null char
- slave.stop();
- slave.receive();
+ slave.write(msg, strlen(msg) + 1);
+ NVIC_SystemReset();
break;
case I2CSlave::WriteGeneral:
- slave.read(buf, 30);
+ slave.read(buf, 16);
printf("\rRead General: %s\n", buf);
- slave.stop();
- slave.receive();
break;
case I2CSlave::WriteAddressed:
- slave.read(buf, 30);
+ slave.read(buf, 16);
pc.printf("\rRead Addressed: %s\n", buf);
- lcd.clear();
+ sscanf(buf, "%f, %f, %f", &x, &y, &z);
+ rled = 1.0f - x; //Encender LED interno
+ gled = 1.0f - y;
+ bled = 1.0f - z;
+
+ lcd.setCursor(2, 1);
lcd.print(buf);
- slave.stop();
- slave.receive();
+ NVIC_SystemReset();
break;
}
- for (int i = 0; i < 10; i++) {
+ for (int i = 0; i < 16; i++) {
buf[i] = 0; // Clear buffer
}
-
}
}
\ No newline at end of file