Stránka 1 z 1

Jak vypsat MAC adresu přes ser.port

Napsal: 05 led 2022, 12:21
od Le_Ze
Zdravim.
Mam mac adresu.

uint8_t mac[6];

Jde to takto Serial.println(String(mac[0], HEX) + ":" + String(mac[1], HEX) + ":" atd.
Uršitě to jde i jdenodušejí.
Poradite?
Dik.

Napsal: 05 led 2022, 12:55
od Guggy

Kód: Vybrat vše

for (int i=0; i<5; i++) 
{
Serial.println(String(mac[i], HEX));
}


Nejak takto

Napsal: 05 led 2022, 13:08
od samec
skôr takto

Kód: Vybrat vše

for(uint8_t i=0; i<5; i++) Serial.print(String(mac[i],HEX) + ":");
Serial.println(String(mac[5],HEX));

Ale záleží, v čom to programuješ, môžností môže byť viac, trebárs cez regex.

Napsal: 05 led 2022, 13:23
od Cowley
< 6
A ještě do smyčky vrazit dvojtečky s podmínkou, že po posledním kole již o ně není zájem :)

Napsal: 05 led 2022, 13:38
od Le_Ze
To mi ale bude odesílat postupně, každé číslo + : zvlášť?
Já to potřebují na druhé straně odchytit jako jeden řetězec.
Tak jediná možnost to první nacpat de proměnné a pak odeslat nebo to nechat tak jak to mám..

Napsal: 05 led 2022, 13:41
od mikollar
Stale sa to posiela po jednom znaku je jendo ako to pzapises, seriovy port (vacsinou) posiela po jendom bajte 8 bitov. Potom je len na prijimacej strane co povazuje za ukoncenie prenosu. Zvycajne \n teda novy riadok, co robi ta fcia println.

print neposle ako posledny znak \n

Napsal: 05 led 2022, 14:59
od samec
Podmienkou <6 a ďalšou podmienkou v cykle, že pri 6. prvku sa nemá odolať ":", sa nič neušetrí, skvôr skomplikuje.


Pošle sa to spolu. Rozdiel je v príkazoch "print" a "println". Print len odošle, println odošle a na koniec pridá znak '\n' na ukončenie riadku.

Napsal: 05 led 2022, 15:03
od Le_Ze
Dik, zkusim.

Napsal: 05 led 2022, 16:09
od ZdenekHQ
Seriovej port má většinou nějakej buffer, takže se to většinou naráz odešle do něj a nezdržuje to čekám na fyzický odeslání.

Ale to záleží na tom, na čem to běží a kolik toho je. 8-)

Napsal: 05 led 2022, 18:25
od Cowley
samec: reagoval jsem na Guggyho :)
S <5 a println by mu to vypsalo jen 5 číslic pod sebou a bez dvojtecek.

Napsal: 05 led 2022, 20:25
od Habesan
samec píše:nič neušetrí, skvôr skomplikuje.
A možná, že když se podívá do souboru listing, zjistí že to kompilátor pokaždé přeloží do stejného počtu instrukcí a poběží to stejně rychle.

Napsal: 07 led 2022, 06:13
od Mahoney
Nějak zapomněl hned v úvodu napsat z čeho a čemu to posílá a co vlastně přesně řeší, víme jen podle tématu, že je to Arduino, Raspberry a další. Má PHY vrstvu a potřebuje TCP/IP stack? Na Arduinu, nebo na čem? Nebo má hat s Wiznetem W5200 nebo podobným, kde je to zadrátované úplně celé a potřebuje jen něco nakonfigurovat?

Jaký je účel toho poslání MAC přes sériovou konzoli?