LASER.ino 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. /*
  2. Description: LASER Unit wireless UART application: burn the program to two
  3. M5Cores    And connect LASER.TX and LASER.RX to PORTC port respectively. Point
  4. LASER.TX to LASER.RX and press the button on the panel to send characters to the
  5. receiver of LASER.RX.
  6. */
  7. #include <M5Stack.h>
  8. char ch;
  9. // serial 2 write and read
  10. //#define RX
  11. void setup() {
  12. M5.begin();
  13. M5.Power.begin();
  14. Serial.begin(115200);
  15. // Serial2.begin(unsigned long baud, uint32_t config, int8_t rxPin, int8_t
  16. // txPin, bool invert)
  17. Serial2.begin(9600, SERIAL_8N1, 16, 17);
  18. pinMode(5, OUTPUT);
  19. digitalWrite(5, 1);
  20. M5.Lcd.setTextSize(4);
  21. M5.Lcd.setTextColor(GREEN);
  22. M5.Lcd.setCursor(60, 50);
  23. #ifdef RX
  24. M5.Lcd.print("LASER RX");
  25. #elif defined TX
  26. M5.Lcd.print("LASER TX");
  27. #else
  28. M5.Lcd.setCursor(30, 50);
  29. M5.Lcd.print("LASER TX/RX");
  30. M5.Lcd.setCursor(50, 200);
  31. M5.Lcd.print('A');
  32. M5.Lcd.setCursor(150, 200);
  33. M5.Lcd.print('B');
  34. M5.Lcd.setCursor(240, 200);
  35. M5.Lcd.print('C');
  36. #endif
  37. M5.Lcd.setCursor(0, 100);
  38. }
  39. void loop() {
  40. #ifdef RX
  41. M5.update();
  42. if (Serial2.available()) {
  43. char ch = Serial2.read();
  44. M5.Lcd.print(ch);
  45. }
  46. if (M5.BtnA.wasReleased()) {
  47. M5.Lcd.clear();
  48. M5.Lcd.setCursor(0, 0);
  49. }
  50. #elif defined TX
  51. Serial2.write('A');
  52. delay(50);
  53. #else
  54. if (M5.BtnA.wasReleased()) {
  55. ch = 'A';
  56. Serial2.write(ch);
  57. } else if (M5.BtnB.wasReleased()) {
  58. ch = 'B';
  59. Serial2.write(ch);
  60. } else if (M5.BtnC.wasReleased()) {
  61. ch = 'C';
  62. Serial2.write(ch);
  63. }
  64. M5.update();
  65. if (Serial2.available()) {
  66. char ch = Serial2.read();
  67. M5.Lcd.print(ch);
  68. }
  69. #endif
  70. }