Salut salut,
Etant assez nouveau sur Arduino et en particulier avec les tableaux, j'ai besoin d'un peu d'aide !
J'essaie d'extraire des données précises d'une trame RS232 provenant d'une station météo dont voici une trame d'exemple :
ULTIMETER WEATHER REPORT 02/03/17 08:14
Wind: Cur 0.6M/S 253Deg, 1mAvg 1.0M/S, 1mPeak 2.1M/S 305Deg
Hi 4.0M/S 180Deg
WChill: Cur 7.5C, Lo 6.2C
Temp Out: Cur 7.5C, Hi 20.5C, Lo 7.5C
Temp In: Cur 21.7C, Hi 21.7C, Lo 19.6C
Rain: Today 0.00in, Since 01/01/09: 0.00in
(Je voudrais avoir la date, heure, et plusieurs autres données)
Jusqu'ici rien de sorcier me direz vous !
Pour la méthode de réception j'ai choisi le tableau, j'ai fais un petit bout de code que voici :
char Array[200];
int Dataserial;
void setup() {
Serial.begin(2400);
}
void loop() {
while (Serial.available() > 0) {
for(int i=0; i < sizeof(Array); i++)
{
Dataserial = Serial.read();
Array[i]=Dataserial;
Serial.print(Array[i]);
}
J'arrive avec succès a l'afficher dans le port série mais avec des caractères supplémentaires pas vraiment désirable !
Screen :
http://imgur.com/xngy7pZPeut être s'agit-il de données qui reviennent de la station ? peut être !
Mais ce n'est pas le seul problème ; vous voyez dans mon code que j'ai défini le tableau avec 200 caractères (sauf erreurs de ma part), hors j'ai calculé que ma trame faisait dans les 300 caractères au complet. Si je ne me trompe pas, ma trame aurait du être coupée quand je demande l'écriture dans le porte série ?
J'ai essayé en mettant [1] au lieu de [200], les caractères indésirables disparaissent mais la trame est toujours complète ><
Concernant la méthode de transmission Station > Arduino, j'ai un Max202 relié du DB9 de la station vers le port Rx (pin 0) de mon Arduino (+ gnd et 5v)