Partage
  • Partager sur Facebook
  • Partager sur Twitter

Probleme lors de programmer Raspberry avec C

    24 juin 2017 à 13:18:02

    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 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 ecran qui montre :

    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

    C'est le programme

    #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);
    		}
    	
    }

    C'est les erreurs:

    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
    




    • Partager sur Facebook
    • Partager sur Twitter
      24 juin 2017 à 13:37:21

      ld (cf. l.10) est l'utilitaire de linkage. Il y a donc un problème lors du lien des libraries à ton code.

      Il faut appeler gcc avec -l*nom de la librarie* (soit tiret"lettre ell"nomdetalib).

      Je n'ai pas ton "bcmxxxx" -> cherche un peu sur internet avant d'avoir des réponses plus précises.

      Edit: en 15 sec sur mon moteur de recherche, t'aurais pu chercher un peu...

      https://stackoverflow.com/questions/17261531/bcm2835-installed-but-giving-undefined-references

      -
      Edité par vimescape 24 juin 2017 à 13:38:45

      • Partager sur Facebook
      • Partager sur Twitter
        24 juin 2017 à 15:27:03

        bien mais comment  je peux changer le gcc -wall -o ???

        -
        Edité par SekmaniMohamedAmine 24 juin 2017 à 15:48:41

        • Partager sur Facebook
        • Partager sur Twitter
          25 juin 2017 à 2:50:56

          • Ouvre ton terminal 
          • cd dans le dossier de ton fichier .c
          • Tape gcc -Wall -Wextra *.c -lbcm2835 -o outputfile
          • Replace -l... par -L"chemin absolu de la librairie" si ça ne marche pas.
          • Entre ./outputfile
          • Tu viens de compiler tes fichiers .c et de lancer ton exécutable.
          • Partager sur Facebook
          • Partager sur Twitter

          Probleme lors de programmer Raspberry avec C

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown