Bonjour,

Je suis actuellement de développer un programme en C sur microcontrôleur. Je suis en train d'intégrer du code que l'on m'a fournit et qui fait planter mon micro. Après quelques tests je remarque que:

- Ce code fonctionne:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
typedef struct
{
       unsigned char Test_U8;
       unsigned short Test_U16;
}test_str;
 
test_str Test_STR;
test_str * PointeurTest_STR = &Test_STR;
 
PointeurTest_STR->Test_U8 = 0;
PointeurTest_STR->Test_U16 = 0;
- Ce code fait planter mon micro:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
typedef struct
{
     unsigned char Test_U8;
     unsigned short Test_U16;
}test_str;
 
test_str* Test_STR = malloc(sizeof(test_str));
 
Test_STR->Test_U8 = 0;
Test_STR->Test_U16 = 0;
A vrai dire je n'utilise jamais d'allocation dynamique de mémoire quand je programme sur microcontrôleur, et comme je programme que la dessus...je ne vois pas ce qui peut faire planter.

Sam,