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
						
					
Lesezeichen