Hallo Leute, also ich möchte mit einem ATMega32 einen DAC mit SPI-Schnittstelle ansteuern! Ich nutze dazu mosi, sck und ein Portpin als Select des Prozessors. DDRB = 0b10100011; // I/O setup SPCR = 0b01010000; // SPI setup PORTD = PORTD & 0b11111110; // wählt DAC aus for(;;){ SPDR = 0x01; wait(20); PORTB = PORTB ^ 0b00000010; // LED blinken wait(20); } Ja ich weiß schön ist das nicht programmiert, aber wenn der Slave das vielleicht nicht versteht, sollte man wenigstens mit dem Oszi an SCK und MOSI etwas wackeln sehen. Aber es passiert rein gar nichts, aber das Programm läuft - LED blinkt und da sich der Chip auch programmieren läßt ist die SPI wohl auch nicht kaputt, aber wieso gehts nicht? Habt ihr eine Idee? Danke Gruß Jens
Schalte auf jeden Fall PB4 (SS\) als Ausgang oder aktiviere wenigstens den Pull-Up. Wenn SS\ als Eingang konfiguriert ist und er da einen Low-Pegel kriegt, dann schaltet das SPI-Interface in den Slave-Modus (gedacht ist das für einen eventuellen Multi-Master-Betrieb). Und dann funktioniert die Datenübertragung als Master nicht mehr. Wenn Du PB4 als Ausgang schaltest oder den Pull-Up aktivierst (dann darf aber nichts extern dranhängen!), kann nichts passieren.
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.