PIC18F97J60 MAC-Adresse umwandeln

OP #6161902
Lesenswert?
• ▲
▼
Hallo Zusammen,

ich habe gerade meinen TCPIP Stack des PIC LITE modifiziert.

Zu Debug Zwecken würde ich gerne die MAC-Adresse über den USART 
auslesen.

Der TCPIP Stack verwendet folgenden Quelltext:
1
#define MAC_ADDRESS {0x00,0x04,0xa3,0x00,0x16,0x06}

Nun würde ich diese gerne wie gewohnt in einen String umwandeln. Wenn 
ich die MAC händisch eingebe funktioniert die Umwandlung. Allerdings ich 
möchte nicht an zwei oder drei Stellen die Einstellungen verwalten. 
Daher die Umwandlung. soweit wäre ich..
1
void MAC_to_String(char str_MAC[]) 
2
{
3
    #define MAC_ADDRESS {0x00,0x04,0xa3,0x00,0x16,0x06}
4
  
5
    //Umwandlung for next oder so..
6
    
7
    sprintf(str_MAC, "%.2X:%.2X:%.2X:%.2X:%.2X:%.2X", 0x00, 0x04, 0xa3, 0x00, 0x16, 0x06); 
8
   
9
}

Weiß jemand wie ich aus der define das hinkriege? Im Netz habe ich nur 
wenig brauchbares gefunden.

Danke und Gruß
Ingo
#6161912
Lesenswert?
• ▲
▼
#include <stdio.h>

#define MAC_ADDRESS {0x00,0x04,0xa3,0x00,0x16,0x06}

void MAC_to_String(char str_MAC[])
{
        unsigned char mac[] = MAC_ADDRESS;
        sprintf(str_MAC, "%.2X:%.2X:%.2X:%.2X:%.2X:%.2X", mac[0], 
mac[1], mac[2], mac[3], mac[4], mac[5]);
}

int main(void)
{
        char str_MAC[3*6];
        MAC_to_String(str_MAC);
        printf("%s\n", str_MAC);
}
(Firma: @home) #6161956
Lesenswert?
• ▲
▼
Ingo S. schrieb:
> Super so einfach kann die Lösung sein!

einfach? ... noch einfacher oder richtig einfach!

1
#define SET_MAC_ADDR 0x00,0x04,0xa3,0x00,0x16,0x06
2
#define MAC_ADDRESS {SET_MAC_ADDR}
3

4
void MAC_to_String(const char str_MAC[]) {  
5
    //Umwandlung for next oder so..    
6
    sprintf(str_MAC, "%.2X:%.2X:%.2X:%.2X:%.2X:%.2X", SET_MAC_ADDR);    
7
}


mt

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.