Гашение незначащих нулей.
- Войдите на сайт для отправки комментариев
Сб, 01/04/2017 - 14:44
Вывожу на печать 8 байт идентефикатора 1-Wire.
Serial.print(addrArray[i],HEX); Serial.print(" ");
Вид вывода "C 36 C2 B 0 0 0 6F". Незначащие нули гасятся. Есть ли в библиотеках фиксированный вывод данных, что бы получить следующий вид - " 0C 36 C2 B 00 00 00 6F"?
Ну, это в три строчки пишется безо всяких библиотек, но если Вам хочется именно с библиотекой (ну, типа, память некуда девать), можете воспользоваться функцией printf. Пример нужен или сами найдёте?
Ну пример не помешает, если не сложно, пока по улице променад делал, тоже сообразил, что надо С вспомнить - вывод данных с форматированием.
Добавь if (addrArray[i] < 16) Serial.print("0"); и все будет.
Добавь if (addrArray[i] < 16) Serial.print("0"); и все будет.
Присоединяюсь!
Но обещанный пример с printf - мне не жалко.
ТС, вот готовый скетч, запустите и смотрите
Можно также использовать printf_P для формата в progmem.
Есть другой способ использовать printf, менее красивый. но более экономичный. Есть также и третий - более красивый, но требующий изменений в системных файлах. Подробное обсуждение было вот здесь.
Спасибо! Я использовал if (addrArray[i] < 16) Serial.print("0");
И сам до этого додумал и в пример слямзил. Конечно, это проще - для данного устройства.
01 EA A4 3B 06 00 00 FA