Bonjour à tous, petit message pour gros problème. Je dois réalisé une liaison entre une carte Arduino Mega et une balance industrielle via la voie série et jusque la pas de problème. Ensuite pour recevoir le poids de la balance j'utilise tout simplement la fonction Serial3.read (j'utilise la voie série 3 de la Mega) et j'affiche le résultat sur la console pour voir si tout va bien. Malheureusement se que je reçois n'est pas ce que j'attends. Je devrais recevoir les caractères " 20 20 20 20 20 20 20 20 38 30 2e 30 20 6b 67 20 80.0 kg " pour donc 80 Kg pesé (c'est ce que je reçois en connectant la balance à un PC via le port série), mais la je reçois " 251 251 251 251 251 251 251 123 159 163 151 191 41 49 191 229 235 0".
Ma vitesse est réglé à l'identique sur le PC comme sur la carte Arduino. Que peut-il bien se passer. Merci par avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 int octetReception = 0; char caractereRecu= 0; int compt = 0; String chaineReception=""; void setup() { // initialize both serial ports: Serial.begin(9600); Serial3.begin(9600, SERIAL_8N2); } void loop() { while(Serial3.available() > 0){ octetReception = Serial3.read(); compt = compt+1; Serial.println("ASCII caractere recu "+ String(compt) + " = " + String(octetReception, DEC)); if (octetReception == 10){ Serial.println("Saut de ligne recu"); Serial.println("Chaine recu = " + chaineReception); compt = 0; }else{ caractereRecu=char(octetReception); chaineReception = chaineReception + caractereRecu; } } }
Partager