Closed Bastian-Reul closed 5 years ago
Nach der Korrektur von
CAN.write(Kommando_Licht_an);
in CAN.write(Kommando_Licht_aus);
in dem entsprechendem Zweig, klappt das ein und ausschalten der LED nun, allerdings nur wenn ca 20 Sekunden zwischen ein und ausschalten liegen. Laut Serial.Pritnout scheint sich sich nach jeder abgesetzten CAN Nachricht, die Verbindung zum MQTT Server zu verlieren und muss erst wieder neu aufgebaut werden.
Die CS Leitungen werden aktuell noch vom Ethernet-Shield und vom CAN Controller zusammen genutzt. Das würde die Verbindungsabbrücke erklären. Nun wird versucht die CS Leitung umzulegen
In MCP2515.h wurde fogendes:
#define MCP2515_DEFAULT_CS_PIN 3
#define MCP2515_DEFAULT_INT_PIN 7
#else
#define MCP2515_DEFAULT_CS_PIN 10
#define MCP2515_DEFAULT_INT_PIN 2
#endif
in
#define MCP2515_DEFAULT_CS_PIN 3
#define MCP2515_DEFAULT_INT_PIN 7
#else
#define MCP2515_DEFAULT_CS_PIN A0
#define MCP2515_DEFAULT_INT_PIN 2
#endif
geändert. Wichtig scheint zu sein, dass der MCP2515_DEFAULT_INT_PIN nicht verändert wird.
Das CAN und das Ethernetshield können beide separat verwendet werden, und verhalten sich wie zu erwarten. Aber wenn beide zusammen benutzt werden sollen gibt es Probleme. Es scheint, dass es an den Verbindungen CS und INT liegt. Will man diese von dem CAN Shield jedoch auf andere Pins umlegen, funktioniert die CAN initialisierung nicht MCP2515.h // Arduino MKR board: MKR CAN shield CS is pin 3, INT is pin 7
define MCP2515_DEFAULT_CS_PIN 3 //3
define MCP2515_DEFAULT_INT_PIN 7 //7
else
define MCP2515_DEFAULT_CS_PIN 10 //Dieser Pin kann leider nicht verlegt werden
define MCP2515_DEFAULT_INT_PIN 2 //Dieser Pin kann leider nicht verlegt werden
endif