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,