es geht :-) ich werd jetzt den code noch verschönern und eine empfangsroutine schreiben und dann online stellen, da hier im forum und auch in anderen sehr oft nach mcp2515 und bascom gefragt wird.
danke franz für deine hilfe.
Druckbare Version
es geht :-) ich werd jetzt den code noch verschönern und eine empfangsroutine schreiben und dann online stellen, da hier im forum und auch in anderen sehr oft nach mcp2515 und bascom gefragt wird.
danke franz für deine hilfe.
Kein Problem, freut mich, dass es funktioniert und dass ich helfen konnte!
so nachdem der teil mit senden von can ids jetzt klappt :-) hab ich ein problem mit den empfangen, bzw das empfangen an sich klappt theoretisch.
das problem ist eigendlich nicht groß, es geht da nur um 1 bit aber ein bit kann leider viel versauen :/
wenn ich zb 11111111 empfangen sollte kommt 11111110. dh er schneidet das erste bit immer ab und ersetzt logischerweisse das letzte durch 0, da ja da nichts mehr empfangen wird.
ich wünsch euch alle schon mal ein schönes neues jahr
gruss
markus
noch zur Info(hab meine änderung Fett geschrieben)
wenn man nach denn reset nicht warted, wird der nächste befehl(in deinen fall "REQOP2 in CANCTRL auf 1 setzen") verlohren gehen.Zitat:
Zitat von Kaiser-F
dies fällt zwar nicht weiter auf, da nach einen reset der mcp2515 sowieso in den config mode wächselt aber bei mir viel es damals auf, da der cnf1 gleich nach den reset geschrieben wurde.
ich hab bei mir ein waitms 1 (weniger müßte auch problemlos gehen, habs aber noch nicht getested)
gruss
markus
Hallo Rathma,
evtl hast du dich in folgendem vertan:
die ID ist in zwei Register zu lesen, da kann sich sczhon mal ein Fehler
beim zusmmenfügen einfschleichen..!
Poste mal deinen Code.
Mann hab iczh einen Sitzen :-) Frohes neues!
Moin moin allerseits,Zitat:
Zitat von rathma
Jetzt lese ich schon ziemlich lange im Forum und entdecke euch b.z.w. diesen Can_Bus Thread erst heute. :-( Ich habe mich damit vor etlichen Jahren etwas beschäftigt, seinerzeit hatte Elecktor damit mal etwas angefangen. Leider bin ich damals nicht weitergekommen, die Teile müßten aber noch im "Elecktronikschrott" zu finden sein. :-) Mal schauen ob ich noch etwas finde. Am Bascom Code währe ich auch interessiert,
"c" raffe ich noch nicht so richtig, Basic und Assembler ist mir noch aus
"alten Zeiten" bekannter.
Frohes Neues, Richard
Das die ID auf zwei Bytes/Register verteilt ist, ist mir schon klar :-) Es geht hier um alle Register bzw Statussachen, da ist alles um 1 nach links verschoben(1 Bit im Nirvana und letzte durch 0 aufgefüllt)
hier mal ein beispiel:
grussCode:Sub Mcp2515_read_rx_status()
Dim Rx_status As Byte
Dim Spi_rx_status As Byte
Dim Spi_read As Byte
Spi_rx_status = &HB0
Spi_read = &H03
Reset Cs_line
Spiout Spi_rx_status , 1
Spiin Rx_status , 1
Set Cs_line
Print Bin(rx_status)
Print Hex(rx_status)
End Sub
markus
thema mal wieder nach oben.
ich hab leider in den letzten wochen nicht viel zeit gehabt nach fehlern zu suchen und leider auch nicht die technischen möglichkeiten mit einen oszi oder digitalanalysator mitzuloggen ob der attiny vergisst das erste bit einzulesen oder der mcp2515 diesen gar nicht sendet.
hätte jemdand einen vorschlag wie ich das testen könnte oder kommt jemand aus den raum münchen der mir helfen könnte(als bezahlung gibts gutes bier :-) )
gruss
markus
Wie initialisierst Du die SPI ?
Da sollte es zwei Möglichkeiten geben die Takt Polarität einzustellen. Eventuell liegt es daran.
Hallo
Hast du schon ein CODE für MCP2515 und Bascom
würde mich sehr freuen
gruß Patrick