Guten Morgen RN-Community,
ich möchte gerne die Tasten meines RN-Control per Interrupt abfragen, um den Ablauf des Hauptprogramms nicht zu stören. Habe mich dazu dumm und dämlich gesucht, aber außer dieser wohlbekannten Seite nichts Verwertbares gefunden:
http://halvar.at/elektronik/kleiner_...rs/interrupts/
Vorraussetzung ist hierbei jedoch, dass die Taster direkt an INT0 oder INT1 angeschlossen sind. Das ist aber beim RN-Control nicht der Fall, dort liegen sie doch über einen Spannungsteiler an PINA.7 (ADC7). Wie ich die Tasten abfrage, ist mir bekannt.
Wie kombiniere ich jetzt den Tasteraufbau des RN-Control mit den Interrupt-Pins? Muss ich nicht das Signal der Taster irgendwie auf einen INT-Pin umbiegen? Warum finde ich dazu nichts im RN, über diese Aufgabenstellung müssten doch schon viele in Verbindung mit dem RN-Control gestolpert sein.
Hier mein bestehender Code:
Code:$regfile = "m32def.dat" $framesize = 32 $swstack = 32 $hwstack = 32 $crystal = 16000000 $baud = 9600 Declare Function GetButton() As Byte Config Adc = Single , Prescaler = Auto Config Pina.7 = Input Porta.7 = 1 Dim bButton As Byte Do 'Irgendein weiterer Programmablauf. bButton = GetButton() Loop Function GetButton() As Byte Local Ws As Word GetButton = 0 Start Adc Ws = Getadc(7) Print Ws If Ws < 1023 Then Select Case Ws Case 390 To 400 GetButton = 1 Case 320 To 330 GetButton = 2 Case 250 To 260 GetButton = 3 Case 175 To 185 GetButton = 4 Case 95 To 105 GetButton = 5 End Select End If Print GetButton Waitms 10 End Function
Danke für's Lesen.
Lesezeichen