lukfud wrote: Thu Oct 29, 2020 12:02 pm
W zasadzie może być on dowolny, jak go wpiszę w inputboxa, taki będzie. Chciałbym jednak ograniczyć ilość wykorzystanych komórek pamięci, wiec postać była by taka:
dla
Code: Select all
0x28, 0x6E, 0xCA, 0x79, 0xA2, 0x1, 0x3, 0xF5
Nie ma sensu zapisywać do EEPROM ciągu znaków. Dla DSów wystarczy zapisać 8 bajtów.
W przypadku strina z przecinkami, albo innymi odstępami, najłatwiej będzie to zrobić metodą strtok (z <cstring> lub <string.h> - zależnie od kompilatora) (
http://www.cplusplus.com/reference/cstring/strtok/)
Coś w ten deseń:
Code: Select all
char inputString[] = "0x28, 0x6E, 0xCA, 0x79, 0xA2, 0x1, 0x3, 0xF5";
DeviceAddress ds;
int counter = 0;
char *pch = strtok(inputString, " ,");
while (pch != NULL) {
ds[counter] = strtol(pch, NULL, 16);
pch = strtok(NULL, " ,");
counter++;
if (counter >= 8) break;
}