Probleme lors de programmer Raspberry avec C

Résolu
sekmani Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
[Dal] Messages postés 6205 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour, mes chers amis
J'ai essayer de programmer Raspberry avec C utilisent le compilateur Geany et comme premier pas j'ai essayer avec un simple exemple c'est d'allumer une lampe "blinking LED"
dans cette programme j'ai utiliser le bibliotheque bcm2835 et j'ai deja le telecharger et ci-dessous l'imprime ecran qui montre :

http://static.ccm2.net/www.commentcamarche.net/pictures/EMEwWbpgbpKNDQLXuxyzHVrNFbm3Z8j50Wb2xT1Cf3bGufqYROoIYHlAYpn68nuF-capture.png'
total 548
drwxr-xr-x 5 pi pi 4096 Jun 23 13:48 bcm2835-1.38
-rw-r--r-- 1 pi pi 248520 Nov 20 2014 bcm2835-1.38.tar.gz
drwxr-xr-x 5 pi pi 4096 Jun 23 23:27 bcm2835-1.52
-rw-r--r-- 1 pi pi 258007 Mar 2 01:18 bcm2835-1.52.tar.gz
drwxr-xr-x 3 pi pi 4096 Jun 24 00:22 Desktop
drwxr-xr-x 6 pi pi 4096 Jun 22 06:00 Documents
drwxr-xr-x 2 pi pi 4096 Apr 10 10:10 Downloads
-rw-r--r-- 1 pi pi 333 Jun 23 03:24 Led.py
drwxr-xr-x 2 pi pi 4096 Apr 10 10:10 Music
drwxr-xr-x 2 pi pi 4096 Apr 10 10:10 Pictures
drwxr-xr-x 2 pi pi 4096 Apr 10 10:10 Public
drwxr-xr-x 2 pi pi 4096 Jun 22 09:34 python_games
-rw-r--r-- 1 pi pi 625 Jun 23 04:34 Simple.py
drwxr-xr-x 2 pi pi 4096 Apr 10 10:10 Templates
drwxr-xr-x 2 pi pi 4096 Apr 10 10:10 Videos


lorsque j'ai essayer de programmer et après le compiler m'a détecter quelques erreurs : il me dit que le bcm2835 ne présente aucune fonction voila ci dessous le programme et les erreurs
http://static.ccm2.net/www.commentcamarche.net/pictures/bqXZfFUhrNGw3m7OwjjN2FkmaZHmZAauZhPZVk094KtUCKue3fjZXyWJS2CsLcQr-kmcs4.png

#include <stdio.h>
#include <bcm2835.h>
#define LED RPI_GPIO_P1_11
int main(int argc, char **argv)
{
if(!bcm2835_init())
return 1;


bcm2835_gpio_fsel(LED, BCM2835_GPIO_FSEL_OUTP);
unsigned int del=1000;
while(1)
{
bcm2835_gpio_set(LED);
bcm2835_delay(del);
bcm2835_gpio_clr(LED);
bcm2835_delay(del);
}

}

http://static.ccm2.net/www.commentcamarche.net/pictures/4rGMQlmh83dnNQEIZdvvSdT3YBPdfU2UEUpdbsWWgjcizgQKm682902NclmqAemf-opvby.png

gcc -Wall -o "VivexProject" "VivexProject.c" (in directory: /home/pi/Desktop)
/tmp/ccVZr4Pj.o: In function `main':
VivexProject.c:(.text+0x14): undefined reference to `bcm2835_init'
VivexProject.c:(.text+0x34): undefined reference to `bcm2835_gpio_fsel'
VivexProject.c:(.text+0x44): undefined reference to `bcm2835_gpio_set'
VivexProject.c:(.text+0x4c): undefined reference to `bcm2835_delay'
VivexProject.c:(.text+0x54): undefined reference to `bcm2835_gpio_clr'
VivexProject.c:(.text+0x5c): undefined reference to `bcm2835_delay'
Compilation failed.
collect2: error: ld returned 1 exit status

Merci de m'aider a resolue cette probleme et merci d'avance
A voir également:

2 réponses

[Dal] Messages postés 6205 Date d'inscription   Statut Contributeur Dernière intervention   1 105
 
Salut sekmani,

Tu n'as pas correctement installé la bibliothèque, ou ta commande de compilation ne comporte pas l'indication de la bibliothèque.

https://raspberry-projects.com/pi/programming-in-c/io-pins/bcm2835-by-mike-mccauley


Dal
0
YCN- Messages postés 116 Date d'inscription   Statut Membre Dernière intervention   12
 
Bonjour,

Bon déjà Geany est un IDE pas un compilateur, ton compilateur c'est gcc. Ensuite dans ce genre de cas il va te manquer les flags de la librairie, ici il faut que tu ajoutes à ta compilation :
-lbcm2835
Ce qui va donner :
gcc -Wall -o VivexProject VivexProject.c -lbcm2835

Cependant je te recommande l'usage de WiringPi si tu es un débutant qui est une librairie très complète et très simple d'usage.
0
[Dal] Messages postés 6205 Date d'inscription   Statut Contributeur Dernière intervention   1 105
 
Si sekmani ne sait pas compiler une bibliothèque ou paramétrer son projet pour l'utiliser, il ne sera pas plus avancé en changeant de bibliothèque, il me semble ;-)

Le lien que j'ai donné explique comment faire un Makefile qui sera utilisé par Geany pour que ce flag soit utilisé, outre la méthode pour compiler et installer la bibliothèque.

Sinon, pour que les paramètres de compilation soient gérés par Geany, il faut créer un projet Geany, par le menu Projet (et non pas juste un fichier), et adapter les propriétés du projet par le menu "Projet - Propriétés - Construire".... ce n'est pas forcément plus facile que de faire un Makefile.
0