Re: problème de déclaration
Citation:
Envoyé par dirty_boy
j'ai un problème que je sais trivial
Pas si sûr...
Citation:
mais qui me bloque totalement dans le développement de mon application. Je déclare des fonctions dans un fichier .c de cette facon
Tu définis...
http://emmanuel-delahaye.developpez....tm#definitions
Citation:
Code:
1 2 3 4 5 6 7 8
|
#include "i2c.h"
void AckI2C1(void)
{
SSP1CON2bits.ACKDT = 0; // set acknowledge bit state for ACK
SSP1CON2bits.ACKEN = 1; // initiate bus acknowledge sequence
} |
et le .h est de la forme :
Code:
1 2 3
|
/* ***** I2C1 ***** */
void AckI2C1(void); |
Le compilateur me répond:
Code:
Error [1032] ')' expected in expansion of macro 'AckI2C1'
qui correspond à :
A closing parenthesis was expected when expanding the specified macro.
Most likely cause is a missing parenthesis
or ceci n'est pas censé être une macro et il ne me semble pas qu'il y ai de parenthese manquante.
Change le nom de la fonction et vérifie le résultat. Si c'est pareiil, c'est grave. Sinon, je soupçonne l'existence d'une définition de macro AckI2C1
Code:
#define AckI2C1 je ne sais quoi
dans le header "i2c.h" ou dans un des headers inclus. Un petit 'grep' devrait lever le doute...
Comme ça par exemple :
http://www.victronics.cl/Inf_tecnica/Microchip/uC/Tools/MPLAB-C18/mcc18/h/i2c.h
Code:
1 2 3 4 5 6
|
/* AckI2C1
* Generate bus ACK condition
*/
#define AckI2C1() SSP1CON2bits.ACKDT=0, SSP1CON2bits.ACKEN=1
#define AckI2C AckI2C1 |
Visiblement, tu es en train de réinventer la roue... Lit la doc, ça peut servir...
http://ww1.microchip.com/downloads/en/DeviceDoc/MPLAB_C18_Libraries_51297f.pdf
Page 26.
Nota. Je ne connais pas ce microcontrôleur. Il m'a fallu 5 minutes de Google pour trouver la réponse. Je peux le faire, tu peux le faire.