Hallo Leute, ich hoffe ihr könnt mir helfen, ich versuche schon seit gut einer Woche den MCP2515 zum laufen zu bekommen, aber es klappt einfach nicht. Natürlich habe ich mir die Internetseite "kreatives Chaos" angeschaut, von der habe ich mir auch den Treiber abgleitet. Mein Problem: Ich weiss ja nicht ob der Controller richtig initialisiert wurde, deswegen gebe ich mir über die serielle Schnittstelle immer die Werte von CANSTAT und CANCRTL aus da steht aber immer 0xFF drin was aber laut Datenblatt nicht geht. Ich habe mal mein komplettes AVR Studio Projekt gepostet und wär froh wenn mir jemand helfen könnte. Ich benutze einen Atmega128
SPI-Treiber testen: Slave rauswerfen und MISO und MOSI über Widerstand >= 5K verbinden (Widerstand weil ISP die auch benutzt) und wenn's ein Echo gibt ist alles ok. Und wenn der Treiber ok ist, liegt's an der Hardware. SPI abschalten und mit Testprogramm gaaaaaaaaanz langsam an den Pins wackeln. Das lässt sich dann sogar mit LED an den MCP-Pins nachmessen.
Also ich lese, wenn ich das SPI brücke immer 0xFF zurück verstehe aber nicht woran das liegen kann ...
meine SPI init sieht so aus: void SPI_MasterInit(void) { // Aktivieren der Pins für das SPI Interface DDR_SPI |= (1<<DD_SCK)|(1<<DD_MOSI); PORT_SPI &= ~((1<<DD_SCK)|(1<<DD_MOSI)|(1<<DD_MISO)); DDR_CS |= (1<<P_CS); PORT_CS |= (1<<P_CS); // Aktivieren des SPI Master Interfaces, fosc = fclk / 2 SPCR = (1<<SPE)|(1<<MSTR); SPSR = (1<<SPI2X); }
gehst du dahin: http://www.kreatives-chaos.com/artikel/ansteuerung-eines-mcp2515 Meiner Meinung nach die beste Seite zum Thema AVR <-> MCP2515 Wer es damit nicht schafft, sollte die Finger von MCs lassen :-)
haha ... ich denke das ich ein Problem mit der SPI habe weil ich da immer nur 0xff zurücklese auch wenn ich MISO mit Mosi über einen Widerstand kurzschliesse
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.