Hallo,
ich habe versucht ein Programm zu machen, das die Bee nicht vom Tisch fallen lässt:
Lässt sich fehlerfrei kompilieren und flashen, aber die Bee rührt sich nicht.Code:'Verwendeter Compiler Bascom V 1.11.9.7 ' 'Aufgabe: 'NIBOBee fällt nicht vom Tisch 'Autor: Pinsel120866 '################################################### $regfile = "m16def.dat" $crystal = 15000000 $hwstack = 32 $swstack = 8 $framesize = 24 Lineled Alias Portb.4 Config Lineled = Output ' Lineled Config Adc = Single , Prescaler = 64 , Reference = Avcc ' 235 kHz Declare Sub Motorpwm(byval Pwm_l As Byte , Byval Pwm_r As Byte) Declare Sub Motordir(byval Dir_l As Byte , Byval Dir_r As Byte) Declare Sub Frontled(byval Ledstatus As Byte) Declare Sub Linedata() Dim Linesensl As Integer Dim Linesensc As Integer Dim Linesensr As Integer Start Adc Wait 3 Do Call Frontled(0) Call Linedata If Linesensl > 30 Or Linesensc > 30 Or Linesensr > 30 Then Call Motordir(0 , 0) Call Motorpwm(0 , 0) Waitms 500 Call Motordir(0 , 0) Call Motorpwm(100 , 100) Waitms 500 Call Motordir(1 , 0) Call Motorpwm(100 , 100) Waitms 500 Call Motordir(1 , 1) Call Motorpwm(100 , 100) Else Call Motordir(1 , 1) Call Motorpwm(100 , 100) End If Loop End Sub Motorpwm(byval Pwm_l As Byte , Byval Pwm_r As Byte) Pwm1a = Pwm_l * 4 Pwm1b = Pwm_r * 4 End Sub Sub Motordir(byval Dir_l As Byte , Byval Dir_r As Byte) If Dir_l = 0 Then Portd.6 = 0 Else Portd.6 = 1 If Dir_r = 0 Then Portd.7 = 1 Else Portd.7 = 0 End Sub Sub Frontled(byval Ledstatus As Byte) ' LED für Liniensensor ein-/aus-schalten Ddrb.4 = 1 Portb.4 = Ledstatus.0 End Sub Sub Linedata() ' Liniensensoren lesen Config Portb.4 = Output Portb.4 = 1 Linesensl = Getadc(5) Linesensc = Getadc(6) Linesensr = Getadc(7) Portb.4 = 0 End Sub
Warum?
Bitte um Hilfe.







Zitieren

Lesezeichen