so sorry, hab das ganz vergessen, ahb viel zu tun ^^ schule, ähnliches

aber hier der code:

Code:
'###################################################
'Testprogramm 6
'für
'RoboterNetz Standard-Roboter Board RBNFRA 1.2
'
'Aufgabe:
'Testet Eingangsport indem Wert über RS232
'übermittelt wird (9600 Baud einstellen)
'
'Autor: Frank
'Weitere Beispiele und Beschreibung der Hardware
'unter http://www.Roboternetz.de
'###################################################

$regfile = "m32def.dat"                                     ' oder bei Mega16 $regfile = "m16def.dat"
$baud = 9600
$crystal = 8000000                                          'Quarzfrequenz

Config Scl = Portc.0                                        'Ports fuer I2C-Bus
Config Sda = Portc.1

Config Pind.6 = Output                                      'Schrittmotoren Ein/Aus
Config Pinc.5 = Output                                      'Schrittmotor Links Richtung
Config Pinc.3 = Output                                      'Schrittmotor Links Step
Config Pinc.4 = Output                                      'Schrittmotor Rechts Richtung
Config Pinc.2 = Output                                      'Schrittmotor Rechts Step

Config Int1 = Rising
Enable Interrupts
On Int1 Int1_isr

Const Writeeingabeport_adr = &H7E                           'I2C Adr PCF 2
Const Readeingabeport_adr = &H7F                            'I2C Adr PCF 2

Dim I2cdaten As Byte                                        'Datenbyte aus PCF8574

Dim I As Byte
Dim J As Word
Dim A As Word
Dim B As Word

I2cinit
I2cstart
I2cwbyte &H74                                               'Schreibbefehl an PCF3 schicken
            'Led´s ein ,Motorendstufen ein, Port-Peripherie ein, RBN-Bus Sleep Modus aus (also Peripherie aktiv)
I2cwbyte &B00000010                                         'Datenbyte an PCF3
I2cstop

Portd.6 = 0                                                 'Schrittmotoren erst mal ausschalten

I2cdaten = 1

B = 251                                                     'Taste 2    (Port4)
A = 247                                                     'Taste 1    (Port3)
I = 0

Do
   If I2cdaten = A Then Gosub Motor1_2
   If I2cdaten = B Then Gosub Motoren_aus
Loop


'********************* Unterprogramme ****************************************************************

Motor1_2:
Portc.5 = 0                                                 'Richtung  Motor 1
Portc.4 = 1                                                 'Richtung  Motor 2
Portd.6 = 1                                                 'Motoren einschalten

Portc.2 = 0
Portc.3 = 0
Waitms 1
Portc.2 = 1
Portc.3 = 1
Waitms 1
Portd.6 = 0
Return

Read_data:
Return


Motoren_aus:
Portd.6 = 0
Return

Int1_isr:
   I2cstart
   I2cwbyte Readeingabeport_adr                             'Lesebefehl an PCF schicken
   I2crbyte I2cdaten , Nack                                 'Datenbyte von PCF lesen
   I2cstop
   Waitms 50
   Print I ; " Eingangsport Wert" ; I2cdaten
   Incr I
Return
bitte, sollte so funzen, jedes mal wenn der int vom pcf kommt, lies die taste ein

Martin