Bin gerade angefangen mein nigelnagelneues RN-Control mit Bascom zu programmieren und wollte das mitgelieferte Demoprogramm draufbrennen, aber folgenden fehler bekomme ich beim Compilieren (Quellcode wurde nicht verändert)
Code:'################################################### 'rncontroltest.BAS 'für 'RoboterNetz Board RN-Control ab Version 1.1 'Das neue preiswerte Controllerboard zum Experimentieren ' Achtung: ' Diese Demo ist mit Bascom Compiler 1.11.7.7 getestet ' 'Aufgabe: ' Dieses Testprogramm testet gleich mehrere Eigenschaften auf dem Board ' Den verschiedenen Tasten sind bestimmte Funktionen zugeordnet ' Taste 1: Zeigt Batteriespannung über RS232 an ' Taste 2: Angeschlossene Motoren beschleunigen und abbremsen ' Taste 3: Einige Male Lauflicht über LEDs anzeigen. Am I2C-Bus ' darf in diesem Moment nichts angeschlossen sein ' Taste 4: Zeigt analoge Messwerte an allen Port A PINs über RS232 an ''Taste 5: Zeigt digitalen I/O Zustand von PA0 bis PA5 an ' Sehr gut kann man aus dem Demo auch entnehmen wie Sound ausgegeben wird, ' wie Tasten abgefragt werden und wie Subroutinen und Funktionen angelegt werden 'Autor: Frank '####################################################### Declare Sub Batteriespannung() Declare Sub Motortest() Declare Sub Lauflicht() Declare Sub Showporta() Declare Sub Showdigitalporta() Declare Function Tastenabfrage() As Byte $regfile = "m32def.dat" ' bei Mega 16 $regfile = "m16def.dat" $framesize = 32 $swstack = 32 $hwstack = 32 Dim I As Integer Dim N As Integer Dim Ton As Integer $crystal = 16000000 'Quarzfrequenz $baud = 9600 Config Adc = Single , Prescaler = Auto 'Für Tastenabfrage und Spannungsmessung Config Pina.7 = Input 'Für Tastenabfrage Porta.7 = 1 'Pullup Widerstand ein Const Ref = 5 / 1023 'Für Batteriespannungsberechnung Dim Taste As Byte Dim Volt As Single ' Für Motorentest 'Ports für linken Motor Config Pinc.6 = Output 'Linker Motor Kanal 1 Config Pinc.7 = Output 'Linker Motor Kanal 2 Config Pind.4 = Output 'Linker Motor PWM 'Ports für rechten Motor Config Pinb.0 = Output 'Rechter Motor Kanal 1 Config Pinb.1 = Output 'Rechter Motor Kanal 2 Config Pind.5 = Output 'Rechter Motor PWM Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down Pwm1a = 0 Pwm1b = 0 Tccr1b = Tccr1b Or &H02 'Prescaler = 8 I = 0 Sound Portd.7 , 400 , 450 'BEEP Sound Portd.7 , 400 , 250 'BEEP Sound Portd.7 , 400 , 450 'BEEP Print Print "**** RN-Control 1.4 *****" Print "Das neue Experimentier- und Roboterboard" Print "Weitere passende Zusatzboards bei www.robotikhardware.de" Print Do Taste = Tastenabfrage() If Taste <> 0 Then Select Case Taste Case 1 Call Batteriespannung 'Taste 1 Zeigt Bateriespannung über RS232 an Case 2 Call Motortest 'Taste 2 Motoren beschleunigen und abbremsen Case 3 Call Lauflicht 'Einige Male Lauflicht über LEDs anzeigen. 'Am I2C-Port darf in diesem Moment nichts angeschlossen sein Case 4 Call Showporta 'Zeigt Messwerte an allen Port A PINs Case 5 Call Showdigitalporta 'Zeigt digitalen I/O Zustand von PA0 bis PA5 an End Select Sound Portd.7 , 400 , 500 'BEEP End If Waitms 100 Loop End 'Diese Unterfunktion fragt die Tastatur am analogen Port ab Function Tastenabfrage() As Byte Local Ws As Word Tastenabfrage = 0 Ton = 600 Start Adc Ws = Getadc(7) ' Print "Tastenabfrage anpassen!ADC Wert ws=" ; Ws If Ws < 500 Then Select Case Ws Case 400 To 450 Tastenabfrage = 1 Ton = 550 Case 330 To 380 Tastenabfrage = 2 Ton = 500 Case 260 To 305 Tastenabfrage = 3 Ton = 450 Case 180 To 220 Tastenabfrage = 4 Ton = 400 Case 90 To 130 Tastenabfrage = 5 Ton = 350 ' Case Else ' Print "Tastenabfrage anpassen!ADC Wert ws=" ; Ws End Select Sound Portd.7 , 400 , Ton 'BEEP End If End Function 'Diese Unterfunktion zeigt Batteriespannung an Sub Batteriespannung() Local W As Word Start Adc W = Getadc(6) Volt = W * Ref Volt = Volt * 5.2941 Print "Die aktuelle Spannung beträgt: " ; Volt ; " Volt" End Sub 'Testet Motoren und Geschwindigkeitsreglung Sub Motortest() 'Linker Motor ein Portc.6 = 1 'bestimmt Richtung Portc.7 = 0 'bestimmt Richtung Portd.4 = 1 'Linker Motor EIN 'Rechter Motor ein Portb.0 = 1 'bestimmt Richtung rechter Motor Portb.1 = 0 'bestimmt Richtung rechter Motor Portd.5 = 1 'rechter Motor EIN I = 0 Do Pwm1a = I Pwm1b = I Waitms 40 I = I + 5 Loop Until I > 1023 Wait 1 Do Pwm1a = I Pwm1b = I Waitms 40 I = I - 5 Loop Until I < 1 Pwm1a = 0 'Linker Motor aus Pwm1b = 0 'rechter Motor aus End Sub ' Einige Male Lauflicht über LEDs anzeigen. Am I2C-Port darf in diesem ' Moment nichts angeschlossen sein Sub Lauflicht() Config Portc = Output Portd = 0 For N = 1 To 10 For I = 0 To 7 Portc.i = 0 Waitms 100 Portc.i = 1 Next I Next N Config Portc = Input End Sub 'Zeigt die analogen Messwerte an Port A an Sub Showporta() Local Ws As Word Config Porta = Input For I = 0 To 5 ' Alle internen Pullup Widerstände ein, bis auf Batteriespannungsmessungsport Porta.i = 1 Next I Print Print "Ermittelte Messwerte an Port A:" For I = 0 To 7 ' Alle Eingänge inkl. messen Start Adc Ws = Getadc(i) Volt = Ws * Ref Print "Pin " ; I ; " ADC-Wert= " ; Ws ; " bei 5V REF waeren das " ; Volt ; " Volt" Next I End Sub 'Zeigt den Zustand einiger freier I/O von Die Analogen Messwerte An Port A An Sub Showdigitalporta() Local Zustand As String * 6 Config Porta = Input For I = 0 To 5 ' Alle internen Pullup Widerstände ein, bis auf Batteriespannungsmessungsport Porta.i = 1 Next I Print Print "Ermittelter I/O Zustand Port A:" For I = 0 To 5 ' Alle Eingänge inkl. messen If Pina.i = 1 Then Zustand = "High" Else Zustand = "Low" End If Print "Pin " ; I ; " I/O Zustand= " ; Pina.i ; " " ; Zustand Next I End Sub
Fehlermeldung:
Line 130 : ADC_MUX entry not found in DAT file , in file:.......
das gleiche in Line 165 nochmal
und error 229 (line 0) END Sub or End Function expectet [>1]
Erfahrung in Basic Programmierung ist für mich kein neuland Bascom & AVR schon.
danke und gruß
Lineage







Zitieren

Lesezeichen