Hi
Habe ein ähnliches Problem wie du. Ist zwar nicht die schönste lösung aber sie funktioniert super ;P
Man muss dazu sagen das ich dabei ein Tastenfeld mit 12 Tasten ansteuere . und somit der Wert nciht über 13 gehn kann.Code:'------------------------------------------------------------------------------- '------- Tastatur Auswertung '------------------------------------------------------------------------------- Tast_a: '------------------------------------------------------------------------------- '------------------------------------------------------------------------------- '------------------------------------------------------------------------------- Dim Freigabe As Bit Freigabe = 0 Tsta = 13 '------------------------------------------------------------------------------- Do '------------------------------------------------------------------------------- '------------------------------------------------------------------------------- Do '------------------------------------------------------------------------------- Tsta = 13 If Pinc.7 = 1 Then Tsta = 1 End If If Pinc.6 = 1 Then Tsta = 2 End If If Pinc.5 = 1 Then Tsta = 3 End If '------------------------------------------------------------------------------- Porta.7 = 1 '------------------------------------------------------------------------------- If Pinc.3 = 1 Then Tsta = 4 End If If Pinc.2 = 1 Then Tsta = 7 End If If Pinc.1 = 1 Then Tsta = 10 End If '------------------------------------------------------------------------------- Porta.7 = 0 '------------------------------------------------------------------------------- Portc.0 = 1 '------------------------------------------------------------------------------- If Pinc.3 = 1 Then Tsta = 5 End If If Pinc.2 = 1 Then Tsta = 8 End If If Pinc.1 = 1 Then Tsta = 11 End If '------------------------------------------------------------------------------- Portc.0 = 0 '------------------------------------------------------------------------------- Portc.4 = 1 '------------------------------------------------------------------------------- If Pinc.3 = 1 Then Tsta = 6 End If If Pinc.2 = 1 Then Tsta = 9 End If If Pinc.1 = 1 Then Tsta = 12 End If '------------------------------------------------------------------------------- Portc.4 = 0 'PC5 Portc.0 = 0 'PC6 Porta.7 = 0 'PC7 '------------------------------------------------------------------------------- Loop Until Tsta = 13 Or Freigabe = 1 Freigabe = 1 '------------------------------------------------------------------------------- If Random > 6 Then Random = 1 Loop Until Tsta < 13 Tstaa = Tsta Return
Hab erst im nachinein rausgefunden das es schon so eine auswertung gibt aber die version gefällt mir besser ^^
Im grunde ist das deine Idee mit der Variable die erst zurückgesetzt wird wenn man die Taste loslässt.
in einer durchlaufenden Schleife sähe das in etwa so aus:
Code:'------------------------------------------------------------------------------- '------- Hauptschleife '------------------------------------------------------------------------------- Do '------------------------------------------------------------------------------- 'Tastenauswertung '------------------------------------------------------------------------------- Taste = 13 If Pinc.7 = 1 Then Taste = 1 End If If Pinc.6 = 1 Then Taste = 2 End If If Pinc.5 = 1 Then Taste = 3 End If '------------------------------------------------------------------------------- Porta.7 = 1 '------------------------------------------------------------------------------- If Pinc.3 = 1 Then Taste = 4 End If If Pinc.2 = 1 Then Taste = 7 End If If Pinc.1 = 1 Then Taste = 10 End If '------------------------------------------------------------------------------- Porta.7 = 0 '------------------------------------------------------------------------------- Portc.0 = 1 '------------------------------------------------------------------------------- If Pinc.3 = 1 Then Taste = 5 End If If Pinc.2 = 1 Then Taste = 8 End If If Pinc.1 = 1 Then Taste = 11 End If '------------------------------------------------------------------------------- Portc.0 = 0 '------------------------------------------------------------------------------- Portc.4 = 1 '------------------------------------------------------------------------------- If Pinc.3 = 1 Then Taste = 6 End If If Pinc.2 = 1 Then Taste = 9 End If If Pinc.1 = 1 Then Taste = 12 End If '------------------------------------------------------------------------------- Portc.4 = 0 'PC5 Portc.0 = 0 'PC6 Porta.7 = 0 'PC7 '------------------------------------------------------------------------------- '------- Tastenabfrage zu Ende folgt: Tastensperre für Prellfilter If Taste = 13 Then Taste_freigabe = 1 'Setzt die Freigabe auf eins wenn keine Taste gedrückt wurde sprich Taste = 13 If Taste_freigabe = 0 Then 'Wenn Freigabe 0 dann also wenn die Zahl zuvor nicht 13 war setzte Taste auf 13 Taste = 13 Else 'Wenn Taste Freigabe = 1 dann übernehme die anstehende Zahl in die Ausgabe Taste_ausgabe = Taste 'Wert Übergabe End If If Taste <> 13 Then 'Wenn Taste ist nicht 13 dann setzte Freigabe wieder auf 0 Taste_freigabe = 0 'Freigabe für Tasten 0 End If '------------------------------------------------------------------------------- '------- Tastensperre Ende '------- Starte Menu Teil '------------------------------------------------------------------------------- blablabla hier kommt das programm '------------------------------------------------------------------------------- '------- Loop Ende Hauptschleife '------------------------------------------------------------------------------- '------------------------------------------------------------------------------- Ende_schleife: Taste_ausgabe = 13 Loop
So hoffe mal ich hab dir weiter geholfen
mfg
Fera ;P







Zitieren

Lesezeichen