les choses serieuses commencent
This commit is contained in:
@@ -151,6 +151,8 @@ Pour le developpement on a besoin du libgpiod.so, du gpiod.h et potentiellement
|
|||||||
|
|
||||||
`arm-buildroot-linux-musleabi-gcc testGpio.c -o gpio -I /home/moi/tp/lib/compiledLib/include/ -lgpiod -L /home/moi/tp/lib/compiledLib/lib/`
|
`arm-buildroot-linux-musleabi-gcc testGpio.c -o gpio -I /home/moi/tp/lib/compiledLib/include/ -lgpiod -L /home/moi/tp/lib/compiledLib/lib/`
|
||||||
|
|
||||||
|
### Lecture du joystick via les outils libgpiod
|
||||||
|
|
||||||
Voici le premier bout de code qui permet de simplement de lister tous les devices GPIO sur la board embarquée :
|
Voici le premier bout de code qui permet de simplement de lister tous les devices GPIO sur la board embarquée :
|
||||||
|
|
||||||
```c
|
```c
|
||||||
@@ -343,8 +345,39 @@ int main(void)
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
~ # echo $?
|
||||||
|
0
|
||||||
|
```
|
||||||
|
|
||||||
Le code ci dessus devrait faire en permanence du pulling et dès que le joystick est bougé on l'affiche.
|
Le code ci dessus devrait faire en permanence du pulling et dès que le joystick est bougé on l'affiche.
|
||||||
|
|
||||||
J'ai ajouté le fait que quand on appuie sur le bouton du joystick ca arrête le programme et que le sleep(0.1) permette à la boucle de ne s'executer que toutes les 0.1s pour ne pas surcharger le processeur.
|
J'ai ajouté le fait que quand on appuie sur le bouton du joystick ca arrête le programme et que le sleep(0.1) permette à la boucle de ne s'executer que toutes les 0.1s pour ne pas surcharger le processeur.
|
||||||
|
|
||||||
|
### Lecture du joystick via l’API C libgpiod
|
||||||
|
|
||||||
|
En fait j'avais pas compris que il fallait utiliser les outils dabord et ensuite l'API. J'ai commencé direct avec l'API.
|
||||||
|
|
||||||
|
Mais on peut facilement imaginer un petit script bash qui utiliserait juste les outils avec des commande simples genre `gpioget` et `gpioset`
|
||||||
|
|
||||||
|
Pour le makefile voici un exemple très simple:
|
||||||
|
|
||||||
|
```makefile
|
||||||
|
CC = arm-buildroot-linux-musleabi-gcc
|
||||||
|
SRC = testJoystick.c
|
||||||
|
TARGET = joystick
|
||||||
|
INCLUDE_DIR = /home/moi/tp/lib/compiledLib/include/
|
||||||
|
LIB_DIR = /home/moi/tp/lib/compiledLib/lib/
|
||||||
|
LIBS = -lgpiod
|
||||||
|
|
||||||
|
all: $(TARGET)
|
||||||
|
|
||||||
|
$(TARGET): $(SRC)
|
||||||
|
$(CC) $(SRC) -o $(TARGET) -I $(INCLUDE_DIR) $(LIBS) -L $(LIB_DIR)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f $(TARGET)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Développement d’un module noyau
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user