Fehlermeldung bei Befehl SBIS

#652651
Lesenswert?

Richtig ich habe jetzt acuh bisle combiniert und folgendes daraus 
gamacht


Schiebe:
out SPDR,r16
Schiebe1:
ldi  r18, SPSR
sbrs r18, SPIF
breq schiebe1

beim ersten senden springt er aus der schleife und macht weiter aber 
dann beim 2. bit senden springt er nicht mehr raus und ist in einer 
endlos schleife wisst ihr wocher es kommt?

Und wie ist es eigentlich möglich dass wenn ich ISP als master 
initialisiere, der Compiler von AVR Studio4 beim nächsten befehl(auch 
wenn es nur ein "nop" ist) das Master bit entfernt... dadurch ist 
natürlich auch keine kommunikation mehr möglich.

hier meine init

equ SCHIEBE_DDR  = DDRB
.equ SCHIEBE_PORT = PORTB
.equ RCK1         = DDB4     ; SS
.equ RCK2          = DDB5     ; SS
.equ SCK          = DDB1     ; SCK
.equ SIN          = DDB2     ; MOSI
.equ SOT          = DDB3     ; MISO

;
; SCK, MOSI, SS als Ausgänge schalten
;
    in    temp1,SCHIEBE_DDR      ;habe 2 SS wegen meiner Hardware 2 
Geräte
    ori   temp1,(1<<SIN) | (1<<SCK) | (1<<RCK1)| (1<<RCK2)
    out   SCHIEBE_DDR,temp1
;
; SPI Modul konfigurieren
;
    ldi   temp1, 0b01010010
    out   SPCR, temp1           ; keine Interrupts, MSB first, Master
                                ; CPOL = 0, CPHA =0
habe es auch schon so versucht wie im datenblatt aber es will einfach 
nicht funktionieren.

habt ihr schon erfahrungen damit gemacht?
#652691
Lesenswert?

Der Grosse wrote:

> Und wie ist es eigentlich möglich dass wenn ich ISP als master
> initialisiere, der Compiler von AVR Studio4 beim nächsten befehl(auch
> wenn es nur ein "nop" ist) das Master bit entfernt... dadurch ist
> natürlich auch keine kommunikation mehr möglich.

Beliebte Fallgrube:

Der /SS-Pin muß als Ausgang gesetzt werden !!!


Peter

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