2016-07-17 3 views
-1

Я работаю с ATmega328p и Arduino System в проекте, я пытаюсь получить сохраненные данные в 2 пространствах памяти eeprom и конкатрировать его. Я всегда прошу Google и проверять примеры, но на этот раз я сдаюсь.Как преобразовать байт в char *

byte dataEE = readEEPROM(disk1,space); 

Я обычно использую strcat, но в данном случае я найти канд способ преобразования типа Byte на символ *

char * strcat (char * destination, const char * source); 

Моя система работает сейчас с String, чтобы решить эту проблему. но я хотел бы узнать более эффективный способ, я всегда читал, что мы должны избегать String.

String TimeData = String(readEEPROM(disk1,space1)) + String(readEEPROM(disk1,space2)); 

ответ

0

Может быть что-то вроде этого:

char TimeData[3]; 
TimeData[0] = (char) readEEPROM(disk1,space1); 
TimeData[1] = (char) readEEPROM(disk1,space2); 
TimeData[2] = 0; 

Теперь вы можете использовать TimeData везде, где вы обычно используете завершающим нулем char* строку.

Смежные вопросы