Hallo Mein CAN Controller (Slave) will einfach nicht funktionieren. Vielleicht ist das SPI falsch konfiguriert. Wäre echt schön wenn jemand helfen könnte. Hier der Code der im Mega8515 (Master) abgelegt ist: ; -------------------------- KONFIGURIEREN ------------------- ldi temp, 0b10100000 ; Output = SCK & MOSI out DDRB, temp ldi temp, 0b01010001 ; SPIEnabled, MasterMode, SPI Clock Rate= ; OSC/16 = 250kHz @ 4MHz OSC out SPCR, temp ; ---------------------- per SPI was senden ------------------ cbi PortB, 4 ; /CS pull down ldi temp, 0b00000010 ; WRITE-Instruction rcall spiout sbi PortB, 4 ; release /CS ; -------------------- SUBFUNKTION FÜR SENDEN ------------ spiout: out SPDR, temp wait_spi: sbis SPSR,SPIF ; Transmission complete? rjmp wait_spi ret ; back... Ich bin schon am verzweifeln, ich weis echt nicht wo ich den Fehler suchen soll. Mein restliches Programm bin ich schon hundertmal durchgegangen. Leider programmieren das alle bis auch mich in C. Deshalb krieg ich auch von nirgendwo Hilfe. Ist doch zum heulen.
Hallo Horst, manchmal hilft das aufleuchten einer LED an einer kritischen Stelle wesentlich weiter Schau mal nach, vielleicht findest Du dort eine Idee.... http://www.mikrocontroller.net/forum/read-4-21765.html Ein kleiner Tipp: ldi temp, 0b01010001 ; SPIEnabled, MasterMode, SPI Clock Rate= out SPCR, temp besser wäre: ldi temp, 1<<..... ; SPIEnabled, MasterMode, SPI Clock Rate= out SPCR, temp Die Programme lassen sich dann besser lesen, sonst muss man erst das Datenblatt zu Hand nehmen, um zu schauen, welches Bit gesetzt wird ;) Bernhard
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.