Gast
#1129230
Hallo, ich möchte zwei MCUs(MSP430 <--> ATMEga88) über SPI kommunizieren lassen. Der MSP430 muss SPI Master und der ATMega88 muss SPI Slave sein. Verdrahtet ist der ATMega: PD4 IN SPI Clock vom MSP430 PD0 IN RXD (Daten vom MSP430) PD1 OUT TXD (Daten zum MSP430) Softwareseitig habe ich den ATMega wie folgt konfiguriert:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
Wenn ich den Code jetzt ausführe und der SPI Master ein Byte sendet, erkenne ich, dass der Interrupt im ATMega (SPI Slave) ausgeführt wird. Die LED toggelt und ein Byte wird über die TX Leitung geschickt. Mein Problem ist jetzt, dass dieses Byte nicht dem gesendeten Byte ('T') entspricht(über OSZI angeschaut). Jetzt meine Fragen: - kann man das SPI Interface im ATMega via USART überhaupt als Slave betreiben? - ist bei mir noch ein Fehler erkennbar? Wäre für Input sehr dankbar Gruss Nobbie