_SlaveID_loop1.h 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. if(!digitalRead(CAN_INTpin)) // If pin 2 is low, read receive buffer
  2. {
  3. CAN0.readMsgBuf(&CANrxId, &CANlen, CANrxBuf); // Read data: len = data length, buf = data byte(s)
  4. Serial.print("ID: ");
  5. Serial.print(CANrxId, HEX);
  6. Serial.print(" Data: ");
  7. #if defined(HAS_LCD1602)
  8. lcd.setCursor(0,0);
  9. lcd.print("ID: ");
  10. lcd.print(CANrxId, HEX);
  11. lcd.setCursor(0,1);
  12. lcd.print(" Data: ");
  13. #endif
  14. #if defined(HAS_TFT_ILI9163C)
  15. display.setCursor(0,40);
  16. display.print("ID: ");
  17. display.print(CANrxId, HEX);
  18. display.setCursor(0,50);
  19. display.print(" Data: ");
  20. #endif
  21. for(int i = 0; i<CANlen; i++) // Print each byte of the data
  22. {
  23. if(CANrxBuf[i] < 0x10) // If data byte is less than 0x10, add a leading zero
  24. {
  25. Serial.print("0");
  26. #if defined(HAS_LCD1602)
  27. lcd.print("0");
  28. #endif
  29. #if defined(HAS_TFT_ILI9163C)
  30. display.print("0");
  31. #endif
  32. }
  33. Serial.print(CANrxBuf[i], HEX);
  34. Serial.print(" ");
  35. #if defined(HAS_LCD1602)
  36. lcd.print(CANrxBuf[i], HEX);
  37. lcd.print(" ");
  38. #endif
  39. #if defined(HAS_TFT_ILI9163C)
  40. display.print(CANrxBuf[i], HEX);
  41. display.print(" ");
  42. #endif
  43. }
  44. Serial.println();
  45. }
  46. //EOF CAN
  47. #if defined(HAS_LCD1602)
  48. delay(LCDtim);
  49. //lcd.setCursor(0,1);
  50. lcd.print(lcdPattern);
  51. //lcd.print(lcdPos % 10);
  52. if(lcdPos == 16) {
  53. //lcd.print("N");
  54. lcd.setCursor(0,1);
  55. lcdPos = 0;
  56. if(lcdPattern==".") lcdPattern = "-" ;
  57. else lcdPattern = "." ;
  58. }
  59. lcdPos ++;
  60. #endif
  61. #if defined(HAS_TFT_ILI9163C)
  62. delay(LCDtim);
  63. display.setCursor(0,60);
  64. display.print("loop....");
  65. #endif