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.