reprendre en séquence après un SIGFPE
bonjour,
j'ai bricolé pour un projet une plateforme munie de jauges de pression.
L'aspect bricole de l'électronique + la longueur des fils pas vraiment blindé font que de temps en temps je lis une valeur nulle en sortie du DAC. Le signal étant toujours parasité malgré le filtrage.
Et dans mon calcul, j'effectue donc de temps en temps une division par 0.
J'ai mis en place un gestionnaire sur SIGFPE mais pour l'instant, je le termine par un exit() pour ne pas reboucler en permanence dans le gestionnaire.
Or, si je détecte une lecture à 0, ça ne me gêne pas, je passe à la suivante sans en tenir compte.
Test unitaire sur lequel je travaille la question:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
void gestion_sigfpe(int n)
{
nb++;
printf("sigfpe %d\n",n );
//exit(-1);
}
//dans mon main:
struct sigaction segv_s;
fpe_s.sa_handler = gestion_sigfpe;
fpe_s.sa_flags=0;
sigaction(SIGFPE,&fpe_s,0);
i = 752;
calcul = (225 * i)/jaugeValue;
printf("On continue en séquence\n"); |
je ne reviens jamais à "on continue en séquence".
Ce que je veux est-il possible?
Merci.