Hallo,

ich habe mal selbst versucht Schrittmotoren über Timer zu steuern.

Code:
'Testprogramm für 2 Schrittmotoren über Timer

$crystal = 8000000                                          'Quarzfrequenz

Declare Sub Ledein
Declare Sub Ledaus

Const Writepowerport_adr = &H72                             'I2C Adr PCF 2
Const Readpowerport_adr = &H73                              'I2C Adr PCF 2

Dim I2cdaten As Byte                                        'Datenbyte aus PCF8574

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

'******** Diese 4 Befehle sind nur ab RNBFRA Version 1.2 (nicht in V 1.1)
' notwendig und bzw. möglich (erweiterte Energiesparfunktion und LED´s)
' Bei Board 1.1 bitte auskommentieren oder löschen
 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
'*********

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

Dim X As Word

Dim Y As Word

Dim Verteilung As Byte

Verteilung = 50                                             'Anfangseinstellung beide Motoren mit 50%

Portd.6 = 1                                                 'Beide Schrittmotoren einschalten

'-------------------------------------------------------------------------------
On Timer0 Ontimer0
Config Timer0 = Timer , Prescale = 1024
Enable Timer0

On Timer2 Ontimer2
Config Timer2 = Timer , Prescale = 1024
Enable Timer2

Enable Interrupts

Do

   Input Verteilung

   X = 250 * Verteilung
   X = X / 100
   Y = 250 - X
   Print X ; "--" ; Y

Loop


End

'-------------------------------------------------------------------------------
Ontimer0:
   Timer0 = X
   Toggle Portc.2
Return


Ontimer2:
   Timer2 = Y
   Toggle Portc.3
Return
Meine Frage ist nun ob man das so machen kann??


mfg

Tomkeule