Jak vypsat MAC adresu přes ser.port

Raspberry, Arduino, Mini-PC a další

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
Le_Ze
Příspěvky: 631
Registrován: 24 črc 2014, 02:00
Bydliště: Ano, mam

Jak vypsat MAC adresu přes ser.port

#1 Příspěvek 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.

Uživatelský avatar
Guggy
Příspěvky: 66
Registrován: 17 říj 2006, 02:00

#2 Příspěvek od Guggy »

Kód: Vybrat vše

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

Uživatelský avatar
samec
Příspěvky: 3692
Registrován: 19 pro 2017, 01:00

#3 Příspěvek 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.

Uživatelský avatar
Cowley
Příspěvky: 3087
Registrován: 04 úno 2005, 01:00

#4 Příspěvek 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 :)

Uživatelský avatar
Le_Ze
Příspěvky: 631
Registrován: 24 črc 2014, 02:00
Bydliště: Ano, mam

#5 Příspěvek 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..

Uživatelský avatar
mikollar
Příspěvky: 1406
Registrován: 26 pro 2004, 01:00
Bydliště: Košice - okolie

#6 Příspěvek 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

Uživatelský avatar
samec
Příspěvky: 3692
Registrován: 19 pro 2017, 01:00

#7 Příspěvek 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.

Uživatelský avatar
Le_Ze
Příspěvky: 631
Registrován: 24 črc 2014, 02:00
Bydliště: Ano, mam

#8 Příspěvek od Le_Ze »

Dik, zkusim.

Uživatelský avatar
ZdenekHQ
Administrátor
Administrátor
Příspěvky: 25593
Registrován: 21 črc 2006, 02:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#9 Příspěvek 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-)
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?
]

Uživatelský avatar
Cowley
Příspěvky: 3087
Registrován: 04 úno 2005, 01:00

#10 Příspěvek od Cowley »

samec: reagoval jsem na Guggyho :)
S <5 a println by mu to vypsalo jen 5 číslic pod sebou a bez dvojtecek.

Uživatelský avatar
Habesan
Příspěvky: 6924
Registrován: 12 led 2009, 01:00
Bydliště: Plzeňsko
Kontaktovat uživatele:

#11 Příspěvek 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.
Sháním hasičák s CO2 "sněhový", raději funkční.
(Nemusí mít platnou revizi.)
(Celkově budu raději, když se to obejde bez papírů.)

Uživatelský avatar
Mahoney
Příspěvky: 347
Registrován: 26 říj 2019, 02:00

#12 Příspěvek 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?

Odpovědět

Zpět na „Miniaturní počítače (Arduino, Raspberry a další)“