[Raspberry Pi] Lire état logique du gpio
Bonjour
J'ai écrit un programme sous Lazarus pour lire le niveau logique de la broche gppio17 d'un RPi.
LA forme contient un bouton et un label :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,Unix;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Label1: Tlabel;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
var niveau:integer;
begin
niveau:=fpsystem('gpio -g read 17');
Label1.caption:=inttostr(niveau);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
fpsystem('gpio -g mode 17 in');
end;
end. |
Or quelque soit le niveau imposé, le programme me renvoie toujous la valeur 0.
En ligne de commande dans un terminal, la commande gpio -g read 17 fonctionne parfaitement.
J'ai réussi à programmer le gpio en sortie et en pwm sous Lazarus et dans ce cas je suis bloqué.
Pouvez vous m'apporter une solution?
Merci