Hallo!
Ich habe Schwierigkeiten bei der Kommunikation zweier AVR's über SPI. Folgenden Code verwende ich für den Master:
Und folgenden Code für den Empfang:Code:$regfile = "m8def.dat" $crystal = 16000000 Config Portb.5 = Output Config Portb.4 = Input Config Portb.3 = Output Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = High , Phase = 0 , Clockrate = 64 , Noss = 1 Spiinit Dim B As Byte B = 80 Do Spiout B , 1 Wait 2 Loop End
Leider funktioniert rein gar nichts. Es scheint, als wird vom Master gar nichts gesendet. Der Slave hingegen scheint zu funktionieren, d.h. beim flashen des Codes für den Master wird der Interrupt des Slaves ordnungsgemäß ausgeführt.Code:$regfile = "m8def.dat" $crystal = 18432000 Config Spi = Hard , Interrupt = On , Data Order = Msb , Master = No , Polarity = High , Phase = 0 , Clockrate = 64 , Noss = 1 Spiinit 'Enable Spi On Spi Spi_isr 'Interrupt's global aktivieren Enable Interrupts Config Portd = Output Dim B As Byte , Status As Byte Status = 0 Do If Status = 1 Then Portd.5 = 1 Waitms 500 Portd.5 = 0 Status = 0 End If Loop End Spi_isr: Spiin B , 1 Status = 1 Return
Woran könnte das liegen?







Zitieren

Lesezeichen