-
-
Erfahrener Benutzer
Roboter Experte
Okey,
Laut Deinem Programm setzt du Folgendes:
CNF1 = 0x02 = 0b00000010
CNF2 = 0xBA = 0b10111010
CNF3 = 0x07 = 0b00000111
Aus CNF1 = 0b00000010 folgt:
BRP0 = 0
BRP1 = 1
BRP2 = 0
BRP3 = 0
BRP4 = 0
BRP5 = 0
SJW0 = 0
SJW1 = 0
Daraus folgt:
BRP = 3, da BRP1 ist, wenn im Register 0 steht.
SJW entspricht 1 TQ
Aus CNF2 = 0b10111010 folgt:
PRSEG0 = 0
PRSEG1 = 1
PRSEG2 = 0
PHSEG10 = 1
PHSEG11 = 1
PHSEG12 = 1
SAM = 0
BTLMODE = 1
Daraus folgt:
Proporgation Segment Length = 3TQ
PS1 = 8 TQ
Aus CNF3 = 0b00000111 folgt:
PHSEG20 = 1
PHSEG21 = 1
PHSEG22 = 1
-
-
-
WAKFIL = 0
SOF = 0
Daraus folgt:
PS2 = 8,
FAZIT:
Alle TQs zusammen ergeben: 1TQ +3TQ + 8TQ + 8TQ = 20TQ
BRP = 3.
Schauen wir mal in den Calculator:
Ich male mal die Spalte bei 20TQ hin:
[(BRP-1) =0] : 500kb
[(BRP-1) =1] : 250kb
[(BRP-1) =2] : 166,667kb
Müßte tatsächlich 166,667kb sein.
Offenbar stimmt was mit der Übertragung zum CNF1 nicht.
Der haut Dir da ne 0 rein, anstatt ne 2...
Das Problem könnte darin bestehen, dass du vergessen hast,
den MCP2515 in Konfigurationsmodus zu versetzen.
Bei mir sieht der INIT-Vorgang so aus:
1. Den Chip Resetten
2. den Chip in Configurationsmodus versetzen: REQOP2 in CANCTRL auf 1 setzen.
2. CNF1, 2, 3 usw... Filter, Masken usw.. setzen
3. Wieder in Normalmodus versetzen.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen