ShermannBoy
Posts: 6
Joined: Sat Mar 29, 2014 9:54 am

Problème compilation Code C

Sat May 24, 2014 10:55 am

Bonjour, j'ai un petit problème avec mon code en C :

Code: Select all

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <errno.h>

#include <wiringSerial.h>
 
char c;
void hum_ext();

void main()
{
  int fd ;

  if ((fd = serialOpen ("/dev/ttyAMA0", 9600)) < 0)
  {
    fprintf (stderr, "Impossible d'ouvrir le port serie: %s\n", strerror (errno)) ;
    return ;
  }

// Loop, getting and printing characters

   while (1==1)
   {
   c = '23';
   serialPutchar  (fd, c);
   sleep(1);
   printf ("\nLettre: %2d.", serialGetchar (fd)) ;
   hum_ext ();
   }
}

void hum_ext ()
{
        FILE *fichier = NULL;
 
        fichier = fopen ("hum.csv","a+");
        if (fichier==NULL) 
        {
          printf("Impossible d'ouvrir le fichier") ;
        }
 
        if (fichier != NULL)
       {
          fprintf(fichier,"%.2d\n", c); 
       }
 
        fclose (fichier);
}
Lorsque je compile:
cc -o emission EmissionRasp.c -L/usr/local/lib -lwiringPi

Je reçois ce message:
EmissionRasp.c:25:8: warning: multi-character character constant [-Wmultichar]
EmissionRasp.c:25:4: warning: large integer implicitly truncated to unsigned type [-Woverflow]

Qu'est-ce que sa veut dire ?
Que faire ?

totoharibo
Posts: 4446
Joined: Thu Jan 24, 2013 8:43 am

Re: Problème compilation Code C

Sat May 24, 2014 4:26 pm

ligne 25 :
c = '23';
ligne 8 :
char c;
c'est un char (caractère de taille 8 bits).

'23' est une chaîne des caractères 2 et 3.
Si tu veux mettre la valeur 23 enlèves les '.
Si tu veux envoyer une chaîne de caractères (string) '23' il faut tout reprendre.

ShermannBoy
Posts: 6
Joined: Sat Mar 29, 2014 9:54 am

Re: Problème compilation Code C

Mon May 26, 2014 12:54 pm

Ah bah oui ! :roll:

Je te remercie beaucoup, car même si c'est basique, je n'y avait pas pensé xD

Sur ce bonne continuation ! ;)

Return to “Français”