Habs doch noch hingekriegt. Da der AD-Wandlder beim schreiben des Kanals usw. gleichzeitig sendet, muss man genauso viele Takte erzeugen, wie der AD-Wandler Bits sendet.
Hier der funktionierende Code:
Code:
$regfile = "m8def.dat"
$crystal = 1000000
$hwstack = 65
$swstack = 40
$framesize = 100
$baud = 4800
Config Portb.1 = Output
Config Portb.2 = Output
Config Pinb.3 = Input
Config Portb.4 = Output
Config Pinb.5 = Input
Portb.3 = 1
Cs Alias Portb.1
Clock Alias Portb.2
Ad_eingang Alias Pinb.3
Ad_ausgang Alias Portb.4
Eoc Alias Pinb.5
Dim Ausgang As Word
Dim Eingang As Word
Cs = 1
Do
Ausgang = &B0001110000011100
Eingang = 0
Cs = 0
Waitus 10
Shiftout Ad_ausgang , Clock , Ausgang , 1 , 16 , 10
Cs = 1
Waitms 100
Cs = 0
Waitus 10
Shiftin Ad_eingang , Clock , Eingang , 1 , 16 , 10
Shift Eingang , Right , 4
Cs = 1
Print Str(eingang)
Wait 2
Loop
End 'end program
Lesezeichen