Hallo!

Ich plage mich hier mit dem DS1722 rum, irgendwie mag er mich nicht.
Das Datenblatt findet Ihr hier: http://datasheets.maxim-ic.com/en/ds/DS1722.pdf
Die wichtigsten Infos habe ich mal ins Listing reingeschrieben, sollte eigentlich alles stimmen.
Die SPI-Optionen habe ich schon alle getestet, hilft nicht.

Die Ausgaben vom SPI sind immer alle 11111111.

hat jemand ne Idee?
Der Chip sollte bis 5 MHz SPI können.

Code:
$regfile = "m8def.dat"
$crystal = 8000000

$hwstack = 32                                               'default use 32 for the hardware stack
$swstack = 10                                               'default use 10 for the SW stack
$framesize = 40                                             'default use 40 for the frame space

'******* BYTE-ORDER *******
'SPI MSB first   /   3-Wire LSB first
Config Spi = Hard , Interrupt = On , Data Order = Msb , Master = Yes , Polarity = High , Phase = 0 , Clockrate = 4 , Noss = 0
Spiinit

'******* TEMPERATURE FORMAT *******
'MSB                  LSB         MSB                  LSB
' 1  2  3  4  5  6  7  8  02h      1  2  3  4  5  6  7  8  01h
' S  6  5  4  3  2  1  0          -1 -2 -3 -4  0  0  0  0
Dim Temp_lsb As Byte
Dim Temp_msb As Byte
Dim Config_in As Byte
Dim Befehl As Byte

'******* R/W ADDRESSES *******
'Read Address     Write Address     Active Register
'    00h              80h           Configuration
'    01h          no access         Temperature LSB
'    02h          no access         Temperature MSB
Const Write_config = &H80
Const Read_config = &H00
Const Read_temp_lsb = &H01
Const Read_temp_msb = &H02

'******* CONFIGURATIONS *******
'Configuration/Statur Register
'MSB                  LSB
' 1  2  3  4  5  6  7  8
' 1  1  1 1-S R2 R1 R0 SD

'   (1-S) 1SHOT - When set, one conversion will be made and stored in output-registers. Bit will reset to 0 then.
' (R0-R1) TERMO-RESOLUTION
'         R2 R1 R0   Resolution      Max Conversion Time
'         0  0  0       8-Bit             0.075s
'         0  0  1       9-Bit (Default)    0.15s
'         0  1  0      10-Bit               0.3s
'         0  1  1      11-Bit               0.6s
'         1  X  X      12-Bit               1.2s
'    (SD) SHUTDOWN-BIT
'         0 > continuous conversion
'         1 > Last result saved, power-down-mode (default)
Const Config_9bit_cont_conv = &B11100010
Const Config_12bit_cont_conv = &B11101000

'Print initial variable-values
Print
Print "-------------"
Print "LSB  " ; Bin(temp_lsb)
Print "MSB  " ; Bin(temp_msb)
Print "CFG  " ; Bin(config_in)

'Initiate configuration-write
Befehl = Write_config
Spiout Befehl , 1

'Write config-register
Befehl = Config_9bit_cont_conv
Spiout Befehl , 1

'Initiate configuration-read
Befehl = Read_config
Spiout Befehl , 1

'Save configuration to Variable
Spiin Config_in , 1

Waitms 500

Do
   'Request Temperature LSB
   Befehl = Read_temp_lsb
   Spiout Befehl , 1
   'Save to Variable
   Spiin Temp_lsb , 1

   'Request Temperature MSB
   Befehl = Read_temp_msb
   Spiout Befehl , 1
   'Save to Variable
   Spiin Temp_msb , 1

   Print "LSB  " ; Bin(temp_lsb)
   Print "MSB  " ; Bin(temp_msb)
   Print "CFG  " ; Bin(config_in)
   Wait 2
Loop

End