Tvorba řetězce

Odpovědět
Ludek
Příspěvky: 291
Registrován: 02 pro 2019, 08:14
Reputation: 0
Bydliště: České Budějovice

Tvorba řetězce

Příspěvek od Ludek » 29 úno 2020, 17:24

Tak jsem zase na mrtvém bodě. Poslat a analyzovat řetězec už umím. Teď pro změnu ho potřebuju vytvořit.
Posílám, "msg" s libovolnou hodnotou a jde to. Ale teď potřebuji do toho řetězce dostat ísto toho dvě proměnné.
Jedna bude proměnná A - tam bude písmenko, a druhá proměnná bude třeba D- a tam bude číslo 0-99.
To znamená, jak tyto dvě proměnné dostanu do toho msg a pošlu?
A jde ten zápis změnit bez "const" a bez hvězdiček?
díky za radu

Kód: Vybrat vše

void loop()
{
    const char *msg = "A123";
    driver.send((uint8_t *)msg, strlen(msg));
    driver.waitPacketSent();
    delay(10000);
}

Uživatelský avatar
gilhad
Příspěvky: 786
Registrován: 07 bře 2018, 11:22
Reputation: 0

Re: Tvorba řetězce

Příspěvek od gilhad » 29 úno 2020, 17:39

Fungovalo by toto? Vadilo by, ze by to posilalo napriklad X01 ?

Kód: Vybrat vše

void loop()
{
    char msg[] = "A99";
    char pismrno='D';
    int cislo=56;
    //
    msg[0]=pismeno;
    msg[1]='0'+(cislo/10);
    msg[2]='0'+(cislo%10);
    driver.send((uint8_t *)&msg, strlen(&msg));
    driver.waitPacketSent();
    delay(10000);
}

Ludek
Příspěvky: 291
Registrován: 02 pro 2019, 08:14
Reputation: 0
Bydliště: České Budějovice

Re: Tvorba řetězce

Příspěvek od Ludek » 29 úno 2020, 18:03

No paráda, jsi borec... funguje to. Jen dotaz :
Jakou funkci tam má řádek :
char msg[] = "A99";

Uživatelský avatar
gilhad
Příspěvky: 786
Registrován: 07 bře 2018, 11:22
Reputation: 0

Re: Tvorba řetězce

Příspěvek od gilhad » 29 úno 2020, 18:41

Deklaruje promennou msg v potrebne delce a ukoncenou znakem \0. Navic zvysuje citelnost.

Samozrejme by tam mohlo byt

Kód: Vybrat vše

char msg[4];
msg[3]=0; // tohle tu musi byt a nelze spolehnout na to, ze RAM je inicializovana nulama, protoze to alokujeme na stacku a tam uz muze byt neco z predchoziho pouziti
Ale to by asi nebylo tak hezke a ocividne

Ludek
Příspěvky: 291
Registrován: 02 pro 2019, 08:14
Reputation: 0
Bydliště: České Budějovice

Re: Tvorba řetězce

Příspěvek od Ludek » 29 úno 2020, 18:50

Super, tak ještě jednou díky.

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host