Hallo,
ich hatte ja hier schon mal Probleme mit der Erkennung das es sich um
CAN handelt und mir konnte im Forum geholfen werden und es gab auch die
RPi-Aktion: Beitrag "Re: Reverse Engineering - "Ein-Draht Protokoll" - RPi B zu gewinnen!"
Ergebnis war: CAN 60kbit/s. Hab es auch schon zum laufen bekommen,
jedoch will jetzt der MCP2515 nicht mehr mit 60kbit/s arbeiten (ich
hatte es schon mal am laufen). Hab das ganze nur schnell mit einem
Arduino mit Watterott CAN Shield getestet. Dummerweise musste ich die
mcp_can anpassen, da sie von Hause aus keine 60kbit/s unterstützt, nur
das will mir jetzt einfach nicht mehr gelingen (hab es gelöscht...).
Hier mal mein simpler C-Code:
1 | #include <mcp_can.h>
|
2 | #include <mcp_can_dfs.h>
|
3 |
|
4 | MCP_CAN CAN(10);
|
5 |
|
6 | void setup() {
|
7 | Serial.begin(9600);
|
8 |
|
9 | START_INIT:
|
10 |
|
11 | if(CAN_OK == CAN.begin(CAN_60KBPS))
|
12 | {
|
13 | Serial.println("CAN BUS Shield init ok!");
|
14 | }
|
15 | else
|
16 | {
|
17 | Serial.println("CAN BUS Shield init fail");
|
18 | Serial.println("Init CAN BUS Shield again");
|
19 | delay(100);
|
20 | goto START_INIT;
|
21 | }
|
22 | }
|
23 |
|
24 | void loop() {
|
25 | byte stmp[1] = {110};
|
26 | CAN.sendMsgBuf(17, 0, 1, stmp);
|
27 | delay(100);
|
28 | }
|
Im Grunde bräuchte ich nur die Werte für die 3 Config-Register, nur habe
ich keine Ahnung wie ich die ermittel. Könnte mir da einer Helfen?
Also CFG1-3 Werte für 60 kbit/s bei 16 (25) MHz Quarz?
Vielen Dank!