Hallo zusammen, Ich habe mein Problem bereits im MCP2515 Tutorial von Kreatives-Chaos gepostet, Eintrag vom 9. Juli 2009 http://www.kreatives-chaos.com/artikel/ansteuerung-eines-mcp2515 Leider konnte dort der Fehler auch nicht gefunden werden (ich habe die 100nF Kondensatoren wie dort im Forum empfohlen bei jedem IC zwischen VCC und GND hinzugelötet). Im Anhang habe ich den Schaltplan meines Boards (die neuen Kondensatoren sind noch nicht eingezeichnet). Ich habe ein Atmega8 der läuft mit einem 8MHz Quarz (ich habe den Resonator vom Schaltplan durch einen Quarz ersetzt) und ein MCP2515 mit 16MHz. Die Quarze laufen einwandfrei, habe ich gemessen. Die SPI Schnittstelle funktioniert auch, ich kann mit einem anderen Atmega8 kommunizieren. Wenn ich das Testprogramm des Tutorials (http://www.kreatives-chaos.com/file_download/21) laufen lasse, kommt die Fehlermeldung "Fehler: kann den MCP2515 nicht ansprechen!" über die serielle Schnittstelle. Das Makefile des Testprogramms habe ich auf die 8MHz angepasst, der Rest der SPI Ports ist identisch wie diejenigen beim Testboard + Testprogramms des Tutorials. Ich habe auch einen eigenen Code für die Ansprechung des MCP2515 geschrieben (auch verglichen mit den vielen Threads über dieses Thema hier im Forum, Wartezeiten eingefügt etc.), auch dort kommt immer FF wenn ich versuche aus dem CNF1 Register zu lesen. Den SPImkII Programmer habe ich auch schon abgehängt und es geht immer nocht nicht. Habt ihr eine Idee, was ich noch überprüfen kann? Fehlt noch ein Pullup Widerstand irgendwo? Wenn ja, wo und wieviel Ohm? Einen kaputten MCP2515 schliesse ich aus, habe diesen auch schon ausgewechselt. Vielen Dank für Eure Hilfe, Lynn
Schuß ins Blaue: Du hast die Frequenzen/Baudraten angepaßt, aber die Funktion mcp2515_init()
1 | // test if we could read back the value => is the chip accessible?
|
2 | if (mcp2515_read_register(CNF1) != ((1<<BRP2)|(1<<BRP1)|(1<<BRP0))) { |
3 | return false; |
4 | }
|
in der mcp2515.c (die liefert die Fehlermeldung) fragt "hardcoded" nach gesetzten Bits für den Baud Rate Prescaler. Verfolge den Pfad mal weiter.
Hallo, Besten Dank für Deine Antwort. Ich habe mittlerweile das selbe Board nochmals gebaut, nun mit den 100nF Kondensatoren eingeplant (waren vorher reingebastelt) und einen 8MHz Quarz anstelle eines Resonators. Und dieses Board funktioniert! Keine Ahnung was falsch war... Gruss, Lynn
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.