to dobrman: Tak to pomohlo, díky! Přikládám to co jsem zplodil a co mi vypisuje přijmutej string 32 Ascii znaků na sériovej monitor.
Neptej se mě, přoč co dělám, protože to nevím. Pouze jsem zpatlal dohromady systémem pokus omyl pár příkladů z netu.
Kód: Vybrat vše
#include "SoftwareSerialO2.h"
//**********deklarace proměnných*************
SoftwareSerial JetiSerial(-1, -1);
//char data; // jeden znak - z Jeti jdou data po znacích
String dataJeti=""; // relace dat z Jeti po jednom znaku ukládat do řetězce
bool newdata; // indikátor nových dat
//*************Nastavení**********************
void setup() {
// nastavení sériové linky z Jeti
JetiSerial.Init(9, 10); // RX pin, TX pin
JetiSerial.begin(9600, true, 2, 1); // rychlost, bit9, 2b stop, 1b parita
JetiSerial.rxMode(); // jen příjem
Serial.begin(115200); // rychlost do PC
while (!Serial) {;} // čekej na potvrzení z PC
Serial.println("Init done"); // výpis na PC
newdata = false;
}
//********Hlavní smyčka programu***************
void loop() {
nactidata(); // podprogram načtení string
if (newdata) zpracujdata();
newdata = false;
}
//***********************************
void nactidata()
{
if (JetiSerial.available()) //dokud jsou na výstupu Jeti data ke čtení
{
bool is9bit = false;
unsigned char data = JetiSerial.read9(&is9bit); //čteme po jednom znaku
if (data ==0xFF)
{
newdata = true;
return;
}
dataJeti = dataJeti + char (data); // přidání znaku do řetězce
}
}
//-------------------------------------
void zpracujdata()
{
dataJeti.remove(0,2);
Serial.println (dataJeti);
if (dataJeti.substring(2,6) == "Ulow")
{
Serial.print("Minimalni napeti");
// unsigned char cislo=dataJeti.substring(15,1);
}
dataJeti="";
}
V tom zpracuj data jsem se pokusil vyházet počáteční nepotřebný znaky a rozebrat přijatý řetěz. Ta Ulow mi chodí, ale nevím, jak z řetězce dolovat jednotlivý znaky do proměnný. Ten substring(15.1) je syntax err.
Prostě každej řádek je boj a hledání a učení toho je časově nezvládnutelný a už mě to přestává bavit. Kdybych se vykašlal na slavný Arduino, v A51 na Silabu bych to měl možná už napsaný a na rozdíl od tohodle bych aspoň věděl, co dělám a mohl se na HW emulátoru kouknout co se v tom procíku děje.
v tom výpisu je vlastně dvouřádkovej výpis telemetrí. Za 1 je první řádek, za 2 je druhý řádek. Pak tam je zkušební rozeznání hlášky Ulow.