Hallo zusammen Die Aufgabe die ich mir am Wochenende gestellt habe klang zuerst nicht so schwer, aber treibt mich nach und nach an den Rande des Wahnsinns. Ich probiere einen Mega8535 via SPI mit einem AS5040 (Berührungslosen Poti) zu verbinden. Mein Problem ist das, sobald ich den SPI initialisiere --> // PB4=SS PB5=MOSI PB6=MISO PB7=SCK DDRB= 0b10111111; // MISO als Eingang SPCR = (1<<SPE) | (1<<MSTR) | (1<<SPR1) | (1<<SPR0); //SPI initialisieren PORTB |= (1<<PB2); //SS auf HIGH setzen der Ausgang PB4 nach dem HI setzen nur noch 1V am Ausgang ausgibt. Sobald ich die Initialisierung auskommentiere, liegen an PB4 wie gewohnt 5V an. Laut Datenblatt sollte der SS Ausgang im Master-Modus frei ein und aus geschaltet werden können. SS habe ich in meiner Testschaltung am CS vom AS5040. Aber testweise zur Fehlersuche auch schon abgeklemmt. Stehe im Moment irgendwie auf dem Schlauch. Wer für jeden Hilfeansatz dankbar. Danke schon mal. MfG Jens
Jens schrieb: > // PB4=SS PB5=MOSI PB6=MISO PB7=SCK ^^^^^^ > PORTB |= (1<<PB2); //SS auf HIGH ^^^ ^^ > setzen
Sorry mein Fehler (beim hin und her Kopieren der Zeilen ins Forum hab ich falsche Zeile erwischt)habe natürlich PB4 auf 1 gesetzt. // PB4=SS PB5=MOSI PB6=MISO PB7=SCK DDRB= 0b10111111; // MISO als Eingang SPCR = (1<<SPE) | (1<<MSTR) | (1<<SPR1) | (1<<SPR0); //SPI initialisieren PORTB |= (1<<PB4); //SS auf HIGH setzen Wie gesagt beim HI setzen stehen etwa 1V an,(mit Oszi gemessen) Danke für den schnellen hinweis.
Ich weiß zwar nicht, ob es beim 8535 schon so ist, aber bei neueren Megas wird die SPI automatisch zum Slave, wenn der SS low ist. Setz den doch mal per PORTB-Register auf high und nimm einen andren für den CS des Slaves. Oder vielleicht: JTAG Fuse deaktiviert?
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.