Index. proměnná v Arduinu
Moderátor: Moderátoři
- elnovy
- Doporučuje se dohled statného moderátora
- Příspěvky: 884
- Registrován: 04 črc 2010, 00:00
- Bydliště: JČ
konecnik A nebo neposlu je to jedno a furt se tisknou nikoliv
odeslana data = zadana data ale 0000 nuly
..jinymi slovy POLE se nanplnilo
Bydliště: JČ
Povolání: Vývoj elektroniky+DPS
Zájmy: Programování C++ ,assembler
- elnovy
- Doporučuje se dohled statného moderátora
- Příspěvky: 884
- Registrován: 04 črc 2010, 00:00
- Bydliště: JČ
hodnotou nactenou z serialu a nasledne ulozenou do pole
a pak zase vytisteni ve prislusnem formatu
je to jen otazka casu pul je hotovo
Bydliště: JČ
Povolání: Vývoj elektroniky+DPS
Zájmy: Programování C++ ,assembler
- elnovy
- Doporučuje se dohled statného moderátora
- Příspěvky: 884
- Registrován: 04 črc 2010, 00:00
- Bydliště: JČ
1. dle posledni rady co jsi napsal
2 pak mam jeste ideu ozkouset nejprve naplněni jen jedné proměnne
jako by pole bylo jen jedno promenna hodnota treba y
a pak ji vytisknout a v tomto duchu potom upravit i pole
,,, verim ze to bude fachat .
dík za pomoc !!!
Bydliště: JČ
Povolání: Vývoj elektroniky+DPS
Zájmy: Programování C++ ,assembler
Takže třeba takhle?
Kód: Vybrat vše
unsigned char x[200]; //pole o rozměru 200 prvků, doporučuji unsigned, zápornou hodnotu tam asi mít nebudeš
char test ='A';
void setup()
{
Serial.begin(9600); // pozdeji bude navolena vyssi rychlost
int bytesSent = Serial.write("---PROPOJENO---");
}
void loop()
{
while (Serial.available() > 0) //pokud jsou nějaká data k dispozici
{
Serial.readBytes(x,200); //načti 200 bytes do x
for (int i =0;i<200;i++)
{
Serial.println(x[i]); //vytiskni data do UART
if (x[i]== test)
{
//udělej něco - já nevím co
}
}
}
}
Kód: Vybrat vše
unsigned char x[200]; //pole o rozměru 200 prvků, doporučuji unsigned, zápornou hodnotu tam asi mít nebudeš
char test ='A'; //test znak
unsigned char rec_byte=0; //aktuálně přijatý znak
int i=0; //index pole
void setup()
{
Serial.begin(9600); // pozdeji bude navolena vyssi rychlost
int bytesSent = Serial.write("---PROPOJENO---");
}
void loop()
{
if (Serial.available() > 0) //pokud jsou nějaká data k dispozici
{
if (i > 199) i = 0; //konec indexu pole, mazej na nulu
rec_byte = Serial.read(); //ulož přijatý byte do proměnné
x[i] = rec_byte; //ulož přijatý byte do pole
Serial.println(rec_byte); //vytiskni přijatý znak
i++; //inkrementuj pozici indexu pole
if (rec_byte == test) //pokud je přijatý znak roven 'A'
{
//do something //tak něco udělej
}
}
}
- elnovy
- Doporučuje se dohled statného moderátora
- Příspěvky: 884
- Registrován: 04 črc 2010, 00:00
- Bydliště: JČ
a zvolil jednoduché řešení viz code:
// SENZOR bude odesilat DATA DLE POVELŮ A B z monitoru
int x = 0; // PRIJIMANA DATA senzoru
int u1 = 100 ; // TESTOVACI data pro povel A
int u2 = 200 ; // TESTOVACI data pro povel B
void setup() {
Serial.begin(115200);
int bytesSent = Serial.println("-READY-");
}
void loop() {
if (Serial.available() > 0) {
x = Serial.read();
}
if ( x > 64 and x < 66 ) { // X=65 ZNAK A POVEL 1
Serial.println(int(u1));
}
if ( x > 65 and x < 67 ) { // X=66 ZNAK B POVEL 2
Serial.println(int(u2));
}
delay(500);
}
// nema cenu komplikovat to polem ale ridit proces pomocí povelů A,B
asi jich bude i více ale struktura programu bude obdobná
Bydliště: JČ
Povolání: Vývoj elektroniky+DPS
Zájmy: Programování C++ ,assembler
elnovy píše:...
asi jich bude i více ale struktura programu bude obdobná
Když jich bude více, tak to piš takto:
Kód: Vybrat vše
switch(x)
{
case 65:
Serial.println(int(u1));
break;
case 66:
Serial.println(int(u2));
break;
case 67:
....
}- elnovy
- Doporučuje se dohled statného moderátora
- Příspěvky: 884
- Registrován: 04 črc 2010, 00:00
- Bydliště: JČ
hned to ozkoušim a děkuji .
Bydliště: JČ
Povolání: Vývoj elektroniky+DPS
Zájmy: Programování C++ ,assembler
- elnovy
- Doporučuje se dohled statného moderátora
- Příspěvky: 884
- Registrován: 04 črc 2010, 00:00
- Bydliště: JČ
monitor bude nyni fungovat skoro jako virtualni klavesnice
...
bez pomoci techto fint programovani by clovek brzo skoncil
jeste jednou dekuji za pomoc !
Bydliště: JČ
Povolání: Vývoj elektroniky+DPS
Zájmy: Programování C++ ,assembler
- elnovy
- Doporučuje se dohled statného moderátora
- Příspěvky: 884
- Registrován: 04 črc 2010, 00:00
- Bydliště: JČ
Bydliště: JČ
Povolání: Vývoj elektroniky+DPS
Zájmy: Programování C++ ,assembler