läuft das programm so?
ich hab keine SPI komponente da um es zu testen!

Code:
'//////////////////////////////////////
'
'  Basic++ 
'  Controller: 	C-Control I Unit M2.0
'              	Station2
'  Beschreibung:    Ansteuerung einer SPI-Komponente
'  Datum:           30.11.07
'
'//////////////////////////////////////
 
OPTION CC2.0  


DEFINE SLCK AS BIT      'später durch PORT ersetzten
DEFINE SDI  AS BIT      'später durch PORT ersetzten
DEFINE SDO AS BIT       'später durch PORT ersetzten
DEFINE CS1 AS BIT       'später durch PORT ersetzten

DEFINE data as byte

#main
init_spi()                                          'SPI INITIALISIERN
spi(12)                                             'Byte 12 an Bus senden
data = spi(0)                                       'Byte am Bus lesen
print data                                          'gelesenes byte ausgeben
END 

SUB init_spi()                                      'SPI Initialisieren
   CS1 = ON                                         'SPI Slave 1 dekativieren
   'CSn = OFF                                       'ggf. weitere Slaves deaktiveren
   SLCK = ON                                        'Clock Initialisieren
   pause 1
END SUB

FUNCTION spi(spiodata as byte [3])                'R/W auf SPI
   DEFINE spicount as byte
   DEFINE spiidata as byte [4]
   DEFINE spiibit as bit [32]
   DEFINE spiobit  as bit [24]                    'letztes Bit aus spiodata [BYTE3]
   FOR spicount = 0 to 8
      nop(200)
      SLCK=0 				'Abfallende Flanke des Clocks
      nop(100)
      SDO = spiobit	                              'SDO Bit Setzen 
      spiodata = spiodata shl 1                   'Daten vorbereiten    
      nop(200)
      spiidata = spiidata shl 1                   'Daten vorbereiten
      SLCK=1 				'Steigende Flanke des Clocks
      nop(100)
      spiibit = SDI                               'Daten Einlesen
   NEXT
   RETURN spiidata   
END SUB

SUB nop(nop_time as byte)                         'Prozessorwartezeit
   DEFINE nop_timecounter AS Byte
   FOR nop_timecounter = 1 to nop_time)
   NEXT
END SUB
[/code]