Guten Tag!
Ich experimentiere zur Zeit bissl mit meinem RN-Control 1.4 rum. Ich habe einen Taster zwischen PortA.1 und Masse geklemmt und den PortA.1 auf High gesetzt. Wenn ich jetzt drücke wird die Spannung an diesem Pin runter gezogen, was ich natürlich messen kann...
Das Problem ist jetzt folgendes: Wenn ich den Taster abfrage geht das so nicht. Wenn ich ihn allerdings mit selbem Code an PortA.3 anschließe gehts!!! Aber im Basic Code steht nirgends was von dem Pin 3.
Warum ist das so? Hier der Code:
Vielen Dank schonmal im Voraus und noch ein schönes WE!Code:$crystal = 16000000 $baud = 9600 $regfile = "m32def.dat" Declare Sub Fahren() Declare Sub Halt() Config Adc = Single , Prescaler = Auto 'Für Tastenabfrage und Spannungsmessung Config Pina.7 = Input 'Für Tastenabfrage Porta.7 = 1 'Pullup Widerstand ein Config Pina.1 = Input 'Für Sensorabfrage Porta.7 = 1 Config Portc = Output Config Portb = Output Dim Taster As Word Ddrc = &B00000001 'Zu Beginn eine LED an Do Start Adc Taster = Getadc(7) If Taster < 1010 Then Select Case Taster Case 410 To 450 'Taste 1: Fahren bis Hindernis 'Call Lcd() Case 340 To 380 'Taste 2: Call Fahren() 'Case 265 To 305 'Taste 3: 'Case 180 To 220 'Taste 4: Case 80 To 150 'Taste 5: Halten! Call Halt() End Select End If Loop End '#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+# Sub Fahren() Dim Sensor As Word Config Pina.1 = Input 'Port als Input Porta.1 = 1 'Port hoch setzen Sensor = Getadc(1) 'Sensor 1 aktivieren Portc.7 = 1 'Motor 1 Vorwärts Portb.1 = 1 'Motor 2 Vorwärts Do 'Endlosschleife If Sensor < 1010 Then 'Wenn Port runter gesetzt wird (Low) Portc.6 = 1 'Motor 1 Rückwärts Portc.7 = 0 Portb.0 = 1 'Motor 2 Rückwärts Portb.1 = 0 Print "Hindernis, setze zurueck!" Waitms 100 'Rechtsdrehung Portc.7 = 1 'Motor 1 Vorwärts Portc.6 = 0 Waitms 50 'Geradeaus Portb.1 = 1 'Motor 2 Vorwärts Portb.0 = 0 Print "Setze Fahrt fort!" End If Loop End Sub '#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+# Sub Halt() Stop Sub Fahren() Portc = 0 'Motor 1 Stop Portb = 0 'Motor 2 Stop Sound Portd.7 , 100 , 200 'BEEP End Sub '#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#
PS: Direkt noch eine 2. Frage: Ich habe einen Pollin US Sensor. Kann ich die LED Spannung einfach an einen Pin von Port A hängen? Eigentlich nicht, da ich dann ja zwischen Masse und dem LED-Bein Messe, was dann den bereich des Einganes übersteigt. Sehe ich richtig, oder? Besser mit Spannungsteiler oder Optokoppler arbeiten?









					
					
					
						
Zitieren

Lesezeichen