Ich versuche deine Anleitung zum Darstellen von Code umzusetzen und nehme dazu exakt den Code, den du zuletzt als "wil und chaotisch bezeichnet hast.
Am Ende werde ich versuchen (zum Testen) noch ein Bild anzuhängen. Ich hoffe die Umsetzung gelingt mir.
Code: Alles auswählen
Library "/usr/local/lib/libwiringPi"
Public Extern wiringPiSetupGpio() As Integer
Public Extern pinMode(pin As Integer, pud As Integer)
Public Extern pullUpDnControl(pin As Integer, mode As Integer)
Public Extern digitalRead(pin As Integer) As Integer
Public Extern digitalWrite(pin As Integer, value As Integer)
Public Extern wiringPiISR(aa As Integer, bb As Integer, cc As Pointer)
Public Eingang22 As Integer '= Zustand an GPIO-Eingang22
Public Zustand27 As Integer '= Zustand an GPIO-Ausgang27
Public a As Integer
Public b As String
Public TestZaehler_ProzedurAufruf As Integer
Public TestZaehler_FunktionAufruf As Integer
Dieser erste Teil beinhaltet die aus meiner Sicht nötigen Deklarationen. Es folgt nun eine Sub, an deren Ende ich das "End Sub" vergessen habe (SORRY):
Code: Alles auswählen
Public Sub Form_Open()
TestZaehler_ProzedurAufruf = 0
TestZaehler_FunktionAufruf = 0
wiringPiSetupGpio()
pinMode(17, 0) 'GPIO17 soll ein Eingang sein
TestProzedur1()
'ruft zu Testzwecken die Sub TestProzedur1 auf
'diese ist eine Sub und keine Function
TestFunktion1()
'ruft zu Testzwecken die Function TestFuktion1 auf
wiringPiISR(17, 1, TestFunktion1)
End Sub 'HATTE ICH VERGESSEN
Es folgen nun noch eine (sehr kurze) Prozedur und eine (sehr kurze) Function:
Code: Alles auswählen
Public Sub TestProzedur1()
'Diese Sub (ungleich Function) wird aufgerufen,wenn am GPIO ein Ereignis aufgetreten ist: steigende, fallende Flanke oder bei beiden
'aktualisiert die Label1
TestZaehler_ProzedurAufruf = TestZaehler_ProzedurAufruf + 1
Label1.Text = "Die Sub TestProzedur1 wurde " & TestZaehler_ProzedurAufruf & " Mal aufgerufen"
End
Public Function TestFunktion1()
' 'Diese Function (ungleich Prozedur oder Sub) wird aufgerufen,wenn am GPIO ein Ereignis aufgetreten ist: steigende, fallende Flanke oder bei beiden
TestZaehler_FunktionAufruf = TestZaehler_FunktionAufruf + 1
Label2.Text = "Die Function Testfunktion1 wurde " & TestZaehler_ProzedurAufruf & " Mal aufgerufen"
End
Ich verstehe nicht, was daran wild oder chaotisch sein soll.
Ich versuche es jetzt mal mit dem Einfügen eines Bildes:
- Fehlermeldung, die kommt, wenn ich an GPIO17 3,3V anlege.
- Bildschirmfoto vom 2019-02-07 19-13-19.png (83.52 KiB) 9273 mal betrachtet
Ich habe den Eindruck, dass du von mir genervt oder über mich verärgert bist. Kann sein, dass ich dazu Anlass gegeben habe, aber ganz gewiss nicht leichtfertig. Wenn ich deine Anweisungen nicht oder nicht richtig oder nicht vollständig befolge, so liegt das auch daran, dass diese - zu mindest für mich - micht immer verständlich und nachvollziehbar sind und ich auch nicht immer weiß, ob es ein Tip, ein Rat oder ein Nebenbemerkung ist. Nimm mal folgendes Beispiel:
Auch sollstest du vorher deinen Code formatieren. Es gibt unter Gambas da eine Funktion, suchen musst du selber. Unter Gambas gibt es auch den Print-Befehl. Brauchst evtl. die Ansicht-Konsole. suchen wie musst du selber. In der Gambas-IDE gibt es ein Menü.
Dieser Hinweis hilft mir nicht weiter sondern wirft nur Fragen auf:
Was meinst du mit formatieren? Wozu dient dieses Formatieren? Wie wird Code formatiert (für mich heißt formatieren u.a. die Syntax einhalten)?
Was für eine Funktion, eine zum Formatieren?
Wozu soll ich hier den Print-Befehl nutzen? Wozu die Ansicht-Konsole? Was meinst du mit Menü vielleicht die Menü-Leiste? Wozu soll ich das Menü nutzen, besonders bei dieser Problemstellung (Felermeldung beim Ansteuern von GPIO17!!)
Deine weiteren Äußerungen unterstreichen meine Befürchtungen bezüglich einer gewissen Verärgerung deinerseits:
Dein Programm werde ich nicht testen, denn ich habe keine Erfahrung mit wiringPiISR und wahrscheinlich hast du eine ganz andere Version durch deine wilde Installation.
Wenn du gleich gesagt hättest, dass du dich mit wiringPiISR nicht auskennst (was ja nicht schlimm ist, man kann ja nicht alles kennen, schon gar nicht wenn man es nicht braucht, weil man es halt anders macht), hätten wir uns einiges an Korrespondenz ersparen können.
Zum Thema meiner "wilden Installation" möchte ich bemerken, dass ich mir sehr wohl bewusst bin, was man mit unsachgemäßen Installationen anrichten kann. Deshalb lass ich da die Finger davon. Das einzige was ich überhaupt auf meinem Raspi installiert habe war Gambas (und auch nur mit deiner freundlichen Unterstützung), dann gnome-screenshot (ebenfalls mit deiner freundlichen Unterstützung) und dann noch wiringpi (weil es im Netz so angesagt war und ich nicht wusste, dass es standardmäßig vorhanden ist). Ich kann da keine "wilde Installation" erkennen.
Mit der Bemerkung
Auch hängt mein Raspi wieder an der Wand wo der VDR läuft. Habe keinen Fernseher und während der Bastelei den DVB-C Stick abgezogen. Falls was schief gegangen wäre der Schaden begrenzt.
und einigen anderen kann ich nichts anfangen.
Lieber besenmuckel!
Versteh mich bitte nicht falsch. Ich bin dir sehr dankbar für deine Hilfe und du hast mir auch schon richtig gut weitergeholfen. Du verweist immer wieder darauf, dass ich selber suchen muss. Da hast du vollkommen recht. Aber wenn ich hier in Forum frage, dann habe ich in der Regel schon sehr intensiv im Netz gesucht und nichts gefunden, oder ich weiß nicht, wie ich bei einer bestimmten Problemstellung Hilfe über Google a.ä. finden soll / kann:
Ich hatte in meinem Code folgende Zeile:
und beim Debuggen wurde mir folgende unsinnige Fehlermeldung angezeigt:
Fehlermeldung: fehlende "," oder ")" in FMain .....
Ich habe im Netz versucht herauszufinden, was diese Fehlermeldung bedeuten soll, denn wörtlich kann man sie nun mal nicht nehmen, denn es fehlt weder ein Komma, noch eine Klammer. Im Netz war natürlich nichts zu finden, hab ich auch nicht anders erwartet. Ich kenne solche nichts sagende oder falsche oder irreführende Fehlermeldungen auch von VB. Der Erfahrende kennt die dann oft schon und weiß, dass ein ganz anderer Fehler gemeint ist (z.B. "unzureichende Anzahl an Parametern").
Da kann dann nur der Erfahrende in der Community oder im Forum helfen. Dein wirklich nicht hilfreicher Kommentar war:
Er gibt dir ja schon Vorschläge.
Eine wichtige Frage für mich ist - und vielleicht habe ich ja gerade das bisher falsch gemacht - WIE UND WO SOLL ICH SUCHEN?
Wenn ich hier im Gambas-Club unter "Suchen" den Suchbegriff "GPIO ansteuern" oder was ähnliches eingebe, dann bin ich ganz schnell auf irgendeiner anderen Site (z.B.
https://duckduckgo.com, günstigstenfalls auf
https://tutorials-raspberrypi.de) wo ich sehr wohl Hilfe zu meinem Suchbegriff "GPIO ansteuern" bekomme, aber die haben dann nichts mehr mit Gambas zu tun.
Das Gambas-Buch ist ja gar nicht so schlecht, aber da ist nichts über GPIO und ganz wenig über Shell.
Ansonsten kommt man ganz schnell vom Hundertsten ins Tausendste und verzettelt sich unendlich von
https://forum-raspberrypi über
http://www.netzmafia.de/skripten/hardwa ... O_int.html und viele andere bis
www.elektronik-kompendium.de/sites/raspberry-pi usw.
Deshalb nochmals: WIE UND WO SOLL ICH SUCHEN?
Noch was wichtiges zum Schluss:
Unter
http://gambaswiki.org/wiki/ide/crash habe ich auch einen interessanten Hinweis zu der eingangs dargestellten Fehlermeldung gefunden.
Da bin ich wohl endgültig in einer Sackgasse? An wen geht geht der "Automatischer Bericht per E-Mail" und was geschieht dann.
Viele Grüße von Leopard