Hi! Ich programmiere grade nen ATMega168 mit Assembler. Nun konfiguriere ich ihn als SPI-Slave und benutze MISO als Busy-Flag für den Master. Ich setze also low. Das funktioniert zuerst, nach ca. 1 Sekunde springt MISO allerdings von selbst auf high, auch wenn ich direkt nach dem SPI-Enable eine Endlosschleife setze. Seltsamerweise wenn ich MISO high setze, ist die LED zur Kontrolle an MISO zuerst gedimmt (scheint also noch ein Eingang zu sein) und wird erst nach besagter Sekunde hell. Im Datenblatt steht nix davon und ich bin etwas ratlos. Danke schonmal! Grüße, Tobias
1 | // SPI Slave |
2 | ldi r16, (1<<DD_MISO) |
3 | out DDRB, r16 |
4 | ldi r16, (1<<DD_MISO) // bzw. 0 mit Effekt wie beschrieben |
5 | out PORTB, r16 |
6 | |
7 | ldi r16, (1<<SPE) |
8 | out SPCR, r16 |
9 | |
10 | rjmp PC-0 |
Nicht sonderlich spektakulär :D
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.