les choses serieuses commencent
This commit is contained in:
33
tp6.md
33
tp6.md
@@ -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/`
|
||||
|
||||
### 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 :
|
||||
|
||||
```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.
|
||||
|
||||
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