Bonjour,

J'ai un léger souci avec mon programme.
Ce programme tourne sous linux et la cible est de l'embarqué avec un réseau Konnex et un maquette.

Quand je cherche à lire la trame de changement de l'état d'une sortie provoqué par l'appui d'un bouton poussoir le programme me retourne Segmentation fault :


Voici un bout du code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
 
 
 do
    {
     		read(file_def, &lecture, 1);
     		switch(lecture)
     		{
     			case  '\x68' : if (etape == 0)
     								{
     									etape ++;
     									buf[i++] = lecture;
     									printf(" %02x", lecture);
     								}
     						   else if ((etape == 1)&&(nb_length == 2))
     						   		{
     						   			etape ++;
     						   			buf[i++] = lecture;
     						   			printf(" %02x", lecture);
     						   		}
     						   break;
 
     			case '\x16' : if ((etape == 2)&&(nb_corps == 11))//&&(checksum = buf[i-1]))
     						  {
     						  	buf[i] = lecture;
     						  	printf(" %02x", lecture);
     						  	fin_lecture = 1;
     						  }
     						  break;
 
     			default : if (etape == 1)
     							{
     								length = lecture;
     								buf[i++] = lecture;
     								printf(" %02x", lecture);
     								nb_length ++;
     							}
     					  else if (etape == 2)
     					  		{
     					  			buf[i++] = lecture;
     					  			printf(" %02x", lecture);
     					  			nb_corps ++; 
     					  			//if (checksum != lecture)
     					  				checksum +=lecture; 
 
     					  		}
     					  break;     		
     		}
 
      }while (!fin_lecture);
Merci pour vos reponses