Hallo, ich nutze auf dem PIC32MX795 den Microchip TPC/IP stack V 5.42 (Nicht Harmony). In der Datei "TCPIP ETH795.h" wird der Host Name des Gerätes definiert: #define MY_DEFAULT_HOST_NAME "Gerät_SNxxx" Im main wird bei Initialisierung dies einmalig aufgerufen: // Load the default NetBIOS Host Name memcpypgm2ram(AppConfig.NetBIOSName, (ROM void*)MY_DEFAULT_HOST_NAME, 16); FormatNetBIOSName(AppConfig.NetBIOSName); Jetzt möchte ich die xxx im Namen durch eine Serien Nummer ersetzen, die so definiert ist: unsigned short serial; // Serial Number (Hinweis: serial wird aus dem externen EEPROM initialisiert) Also die Firmware soll für mehrere Geräte gleich sein. Nur die im EEPROM gespeicherte Seriennummer soll halt mit im Hostname erscheinen. Wie gehts ???
Such im Source nach deinem Define und ersetzte ihn durch was eigenes. Also nicht die Stelle der Definition, sondern die stellen, an denen es benutzt wird
Du musst aus der Seriennummer einen String machen (mit itoa oder sowas). Dann kopierst du deinen festen Text aus dem ROM in die Konfig und hängst den dynamischen String hinten dran (mit Offset kopieren). Ab dann wie gehabt initialisieren.
Hallo Keiner, geht nicht. Hier wird benutzt: memcpypgm2ram(AppConfig.NetBIOSName, (ROM void*)MY_DEFAULT_HOST_NAME, 16); Also ein Konstant aus ROM ins RAM kopeiert und dann weiter verwendet. Nützt aber nichts, da ich ja mit der gleichen Firmware (gleiches ROM) für mehrere Geräte nutzen möchte. Ich muss also irgendwie dafür sorgen, dass in AppConfig.NetBIOSName dann Gerät_SN001 fürs erste Gerät, Gerät_SN002 fürs zweite Gerät u.s.w. steht.
Hallo Andre, perfekt. Aber wie kann ich das umsetzen ?
Dirk F schrieb: > Hallo Andre, perfekt. > Aber wie kann ich das umsetzen ? Bei Deinen Kenntnissen: String passender Größe deklarieren, dann mit sprintf und itoa füllen. Anschließend nach AppConfig.NetBIOSName kopieren.
Hallo, danke für eure Unterstützung. Es läuft. Habs so gemacht: char Text[40]; // Textausgabe char Text2[40]; // Textausgabe char Text3[40]; // Textausgabe BYTE2BCD ( serial); // Ergebnis in Text strcpy ( Text2 , (ROM void*)MY_DEFAULT_HOST_NAME ); strcat ( Text2, Text ); strcpy ( (char *)AppConfig.NetBIOSName,Text2);
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.