Hi Leute..ich hab hiuer grad nen mega16 als hauptprozzi und nen mega8 auf nem motortreiber...
ich will es so machen, dass ich vom mega16 nen wert von -1023 bis 1023 sende und die brücke dementsprechend drauf reagiert und links oder rechts fährt, abhängig von der zahl wird die pwm reguliert.
Jetzt mal das sendeproggi:
das sendet alle 400ms ne andere zahlCode:$crystal = 16000000 $baud = 19200 Dim C As Integer Open "Comd.3:19200,8,n,1" For Output As #1 Do For C = -1023 To 1023 Step 1 Print #1 , C 'Lcd C Waitms 400 Next Loop End
jetzt will ich das hiermit erkennen und gegebenenfalls drauf reagieren
das ganze funkt über ne softwareserielle über den m16 und geht in die hardwareserielle des motortreibers, da hab ich dann noch ne softwareserielle um das was der treiber empfängt aufm terminal darzustellen...leider kommt wenn ich den bot anschalte immer nur die erste zahl an (-1023) danach 000000000 usw.Code:$crystal = 16000000 $baud = 19200 Config Pinb.1 = Output Config Pinb.2 = Output Config Pind.5 = Output Config Pind.6 = Output Config Pind.7 = Output Dim C As Integer Dim A As Integer Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 8 Enable Interrupts Open "Comc.3:19200,8,n,1" For Output As #1 Do Input C Waitms 100 Print #1 , C Loop Close #1 Links: Pwm1a = 0 Pwm1b = C Return Rechts: A = C * -1 Pwm1a = A Pwm1b = 0 Return Stopp: Pwm1a = 0 Pwm1b = 0 Return End
weiss jemand hilfe?? was mach ich falsch?
Gruss Stefan







Zitieren

Lesezeichen