So leute habe meinen Fehler gefunden.
Habe jetzt das Senden an den DAC in 2 Schritte unterteilt und damit gelöst.
Hier der Code :
Code:
$regfile = "m32def.dat"
$framesize = 40
$swstack = 32
$hwstack = 32
$crystal = 8000000
$baud = 19200
Enable Interrupts
Config Com1 = 19200 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0 ' zum debuggen
Config Portd.7 = Output
Dim Spioutputlsb As Byte
Dim Spioutputmsb As Byte
Dim I As Byte
Dim J As Byte
I = 0
J = 0
Portd.7 = 0
Spioutputlsb = 0
Spioutputmsb = 0
Config Spi = Hard , Interrupt = On , Data Order = Msb , Master = Yes , Polarity = High , Phase = 1 , Clockrate = 64 , Noss = 0
'testweise auf Softspi umgestellt, kein Unterschied
'Config Spi = Soft , Din = Pinb.6 , Dout = Portb.5 , Ss = Portb.2 , Clock = Portb.7 , Mode = 3 , Ss = None
Spiinit
Waitms 5
Do 'Main
For J = 0 To 15
For I = 0 To 255 ' entspricht &B_0000_0000-_1111_1111 und damit dem lowbyte
Spioutputlsb = I
Spioutputmsb = J + 48 'also GN=1(Vref*1) und SHDN auf 1 (disabled)
'entspricht entspricht &B_0011_0000-_0011_1111 und damit dem high byte
Waitms 5 ' damit man die Änderungen auch sehen kann
Portd.7 = 0
Waitus 1
Spiout Spioutputmsb , 1
Waitus 1
Spiout Spioutputlsb , 1
Waitus 1
Portd.7 = 1
Waitus 1
Next I
Next J
Loop
'erwartet wird eine Sägezahnkurve von GND-5V
Anscheinend treten beim Senden von 2 Bytes Bitverschiebungen auf, die wohl erst auf einem digitalem Osziloskop auftauchen. Tja hab ich als Azubi nicht, Pech gehabt 
Hoffe trotzdem euch hiermit geholfen zu haben.
Lesezeichen