Go Down

Topic: Petit erreur dans un programme (Read 362 times) previous topic - next topic

Fred98

Bonjour à tous je suis étudiant et actuellement je travaille sur un programme mais il m'affiche une erreur et je ne la trouve pas, pourriez-vous m'aider à la trouver, merci de votre compréhension


Voici le programme :

#include <SoftwareSerial.h>
#include <Wire.h> 

SoftwareSerial SoftSerial (2, 3);
unsigned char buffer[64];
int count=0;
void setup ()
{
  SoftSerial.begin(9600);
    Serial.begin(9600);
    Wire.begin();
   
}

void loop()
{
  if (SoftSerial.available());
  {
    while(SoftSerial.available());
    {
      buffer[count++]=SoftSerial.read();
      if(count == 64)break;
    }
    Serial.write(buffer,count);
    clearBufferArray();
    count = 0;
   
  }
  if (Serial.available());
  SoftSerial.write(Serial.print());
}
void clearBufferArray()
{
  for (int i=0; i<count;i++);
   
  }

tahitibob35

Au vu de ton précédent post, tu ne mérites pas de réponse.

fdufnews

#2
May 06, 2015, 01:01 pm Last Edit: May 06, 2015, 01:02 pm by fdufnews
Il faut placer le programme entre balise code pour qu'il s'affiche correctement sur le site.
Même lorsqu'on est pas copain avec l'anglais, en faisant un minimum d'effort on comprend les messages d'erreur.
Break ne peut apparaitre que dans une boucle ou un switch. Or là il est dans un if. Donc c'est une erreur.
En plus tu t'en sers pour sortir du while. Il suffit d'ajouter la condition dans l'instruction while
Code: [Select]
while(SoftSerial.available() && count<64);

L'autre erreur ici:
Code: [Select]
if (Serial.available());
  SoftSerial.write(Serial.print());

on peut supposer que ce n'est pas print() mais read() que tu voulais mettre.

Go Up