Menu

Problème C expected ';', ',' or ')' before numeric constant [Fermé]

BigBelly83 1 Messages postés lundi 20 mars 2017Date d'inscription 20 mars 2017 Dernière intervention - 20 mars 2017 à 15:02 - Dernière réponse : [Dal] 4569 Messages postés mercredi 15 septembre 2004Date d'inscriptionContributeurStatut 24 avril 2018 Dernière intervention
- 20 mars 2017 à 22:42
Bonjour,
Je travaille sur un algorithme pour récupérer les mesures d'un capteur en passant par un bus I2C activer une réponse en fonctions de ces données.
Mais lors de la compilation il y a une erreur ''expected ';', ',' or ')' before numeric constant" et je n'arrive pas à la résoudre. Si vous pouvez m'aider svp.

Voici le code :

#define TSL2561 0x48
#include <device.h>
#include <stdio.h>

void WriteI2C(uint8 TSL2561, uint8 0b00000001)
    {
    CyGlobalIntEnable;
    I2C_Start();
    for(;;){
        uint8 wbuffer[2];
        wbuffer[0]=0b00000001;
        I2C_MasterClearStatus(void);
        status=I2C_MasterWriteBuf(TSL2561, wbuffer, 1, I2C_MODE_COMPLETE_XFER);
        while(Ou == (I2C_Masterstatus() & I2C_MSTART_WR_CMPLT)){ }
        I2C_MasterReadBuf(TSL2561, rbuffer, 2, I2C_MODE8COMPLETE8XFER);
        while((I2C_MasterStatus() & I2C_MSTAT_RD_CMPLT)==0);
        if (I2C_MasterReadBuf(TSL2561, rbuffer, 2, I2C_MODE8COMPLETE8XFER)) <= 150 {
        LED_1Write(1);
        return 0;
        }  

}

}


Merci d'avance
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
Afficher la suite 

1 réponse

[Dal] 4569 Messages postés mercredi 15 septembre 2004Date d'inscriptionContributeurStatut 24 avril 2018 Dernière intervention - 20 mars 2017 à 22:42
0
Utile
Salut,

#define TSL2561 0x48

void WriteI2C(uint8 TSL2561, uint8 0b00000001)  
{

Ce code est illégal en C, car la fonction déclare des paramètres qui ne sont pas des identifiants valides, mais des constantes numériques.

TSL2561 est remplacé par 0x48 parle préprocesseur, et un nom de variable en C ne peut pas débuter par un chiffre. De même pour le 2ème paramètre.

Tu peux lire ceci pour avoir une meilleure idée de comment définir le prototype d'une fonction en C, et comment utiliser une fonction :

https://openclassrooms.com/courses/apprenez-a-programmer-en-c/les-fonctions-1


Dal