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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
#include <RH_ASK.h>
#include <SPI.h> // Not actually used but needed to compile
#define speedTR 1000
#define TX_PIN 4
const uint16_t sizeMaxData = 43; //Taille max du data à envoyer
struct data_t {
uint16_t addr[8];
uint8_t dataSend[sizeMaxData]; //Nombre d'octets
} data;
RH_ASK driver(speedTR, "", TX_PIN);
//char serData;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
driver.init();
}
char string[100];
void loop() {
// put your main code here, to run repeatedly:
//Data reçu
if(Serial.available() > 0) {
int availableBytes = Serial.available();
for(int i=0; i<availableBytes; i++) {
string[i] = Serial.read();
}
//Ici j'ai bien ma chaine entièrement reçu
//On tente de parser
char * pch;
pch = strtok(string, ";:");
while(pch != NULL) {
Serial.println(pch);
pch = strtok(NULL, ";:");
}
//If(pch == "Addr") {
//Parser de nouveau
//data.addr[0] = 0x00AB;
//data.addr[1] = 0xCF2A;
//data.addr[2] = 0x153D;
//data.addr[3] = 0x2ABC;
//data.addr[4] = 0x2384;
//data.addr[5] = 0xA23D;
//data.addr[6] = 0xF2FF;
//data.addr[7] = 0xCA2D;
//}
//If(pch == "Message") {
//Parser de nouveau
//Colonne
//Ligne
//Message
//}
//Envoyer à RX
Serial.flush();
}
} |
Partager