SPI Hilfe! Verstehe gar nichts mehr

Gast #2132121
Lesenswert?

Hallo Leute....

Ich komm mir langsam blöd vor...

Ich habe folgendes Programm. es soll einfach ein Byte am Spi ausgeben 
(in einer Schleife). Aber irgendwie klappt es nicht. mit dem Oszi sehe 
ich nur ne sinuswelle an mosi miso sck an ss ist high pegel


Helft mir bitte...
1
.include <m16def.inc>
2
.cseg
3
.org 0
4
start:
5
ldi r16, low(RAMEND)
6
ldi r17, high(RAMEND)
7
out spl, r16
8
out sph, r17
9

10
ldi r16, (1<<7) | (1<<5)
11
out ddrb, r16
12
ldi r16, (1<<MSTR) | (1<<SPE)
13
out spcr, r16
14

15
s:
16
ldi r16, 0b01010011
17
out spdr, r16
18
s1:
19
sbis SPSR, SPIF
20
rjmp s1
21
in r16, spdr
22
nop
23
rjmp s
Danke in voraus
Gruß M.H,
Gast #2132173
Lesenswert?

DANKEEEEEE.............

Es sieht jetzt so aus. UND GEHT....


Sorry für die "bescheuerte Frage". Ich bin ja nicht grad unerfahren in 
avr-Sachen. aber ich habs nicht hinbekommen.....

1
.include <m16def.inc>
2
.cseg
3
.org 0
4
start:
5
ldi r16, low(RAMEND)
6
ldi r17, high(RAMEND)
7
out SPL, r16
8
out SPH, r17
9

10
ldi r16, (1<<7) | (1<<5) | (1<<4)
11
out DDRB, r16
12
ldi r16, (1<<MSTR) | (1<<SPE)
13
out spcr, r16
14

15
s:
16
ldi r16, 0b01010011
17
out SPDR, r16
18
s1:
19
sbis SPSR, SPIF
20
rjmp s1
21
in r16, SPDR
22

23
nop
24
rjmp s

Also Danke.



P.S. Ich nehm an, dass der avr an ss einfach ne schwingung bekommen hat 
und dann in den slave modus gewechselt hat...
Gast #2132181
Lesenswert?

>P.S. Ich nehm an, dass der avr an ss einfach ne schwingung bekommen hat
>und dann in den slave modus gewechselt hat...

So ist es. SS darf nicht floaten wenn es ein Eingang ist.
Als Eingang ist er im Master Mode sowieso nicht nutzbar.
Also immer schön auf Ausgang schalten.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren