Hallo,
Ich wollte mich an ein Programm für einen Servostrecher machen, also eine Schaltung, die die eingehenden Signale auseinander spreizt und weitergibt an den servo. Nun ist mir noch einiges unklar, deshalb hier der Code:
Ich habe auf jedenfall verstanden, dass ich mehr mHz brauch als den einen, den der Mega8 hat, möglichst 8mHz aber nun versteh ich das mit Pulseout nicht, gibts da irgendwie einen Umrechenfaktor, den ich vergessen habe? Warum kann man nicht einfach Pulseout = 150 schreiben?Code:$regfile "m8def.dat" $crystal = 1000000 Config Portd = Output Config Portb = Input Dim Esignal As Byte Dim Msignalplus As Byte Dim Msignalminus As Byte Dim Aplus As Byte Dim Aminus As Byte Dim Bplus As Byte Dim Bminus As Byte Aplus = Esignal - 150 Bplus = Aplus * 2 Msignalplus = Bplus + 150 Aminus = 150 - Esignal Bminus = Aminus * 2 Msignalminus = 150 - Aminus Do Start: Pulsein Esignal , Pinb , 0 , 1 Select Case Esignal Case Is < 150: Pulseout Portd , 0 , Msignalminus Case Is = 150: Pulseout Portd , 0 , Esignal Case Is > 150: Pulseout Portd , 0 , Msignalplus Case Else: Goto Start Waitms 10 End Select Loop End
Ja ich hatte bereits die Bascom-Hilfe mir angeschaut, wurde aber daraus auch nicht schlauer.
Danke im Voraus!
mfg







 
			
			 
					
					
					
						 Zitieren
Zitieren

Lesezeichen