Hallo zusammen,
ich stehe momentan ziemlich auf'm Schlauch und brauche Hilfe:
Ich benutze fpgpio um eine gewisse Anzahl von GPIO's als Ausgang bzw. Eingang zu definieren.
Die Initialisierung erfolgt so:
Code: Alles auswählen
PIN_1:=TGpioLinuxPin.Create(20);
PIN_1.Direction:=gdOut;
PIN_1.Value:=low;
PIN_2:=TGpioLinuxPin.Create(19);
PIN_1.Direction:=gdOut;
PIN_1.Value:=low;
.......
PIN_X:=TGpioLinuxPin.Create....
....
Dies alles auf einem Pi 2 mit Raspbian V8 Jessie und Laz v.1.2.4
Wenn ich den PI reboote, die grafische Oberfläche (Xwindows) und danach die Laz. IDE starte und den code ausführe, passiert beim ersten Versuch garnichts, d.h. die PIN's bleiben Eingänge (trotz der Initialisierung) wenn ich sie mit der Konsole abfrage (GPIO readall)
Es nützt auch nichts wenn ich die Initialisierungsprozedur im Code zweimal durchlaufe.
Erst wenn ich die Ausführung über die IDE abbreche und den Code ein zweites mal ausführe werden die GPIO's wie erwartet gesetzt.
Andererseits sehe ich, wenn ich den code nach dem reboot zeilenweise mit dem debugger ausführe, dann funktioniert es wie erwartet.
Gut, ich muss zugeben dass ich den Code bisher nur unter der IDE getestet habe, aber wenn das auch passieren sollte, wenn der Code direkt aus rc.local nach dem boot ausgeführt wird, dann wäre es fatal für mich.
Ich kann mir durchaus vorstellen dass es sich um ein Linux oder Laz Problem handelt.
Deshalb Danke für alle Hinweise im Voraus.
Sporex