Сделайте ее сами, вот код Код (C++): void setup() { Serial.begin(115200); } byte num = 0; void loop() { if (!num) { Serial.println("Dec;Hex;Bin"); } Serial.print(num, DEC); Serial.print(";0x"); Serial.print(num, HEX); Serial.print(";"); Serial.println(num, BIN); num++; delay(300); } Копируем результат из Serial в Excel. Далее разбиваем текст по ячейкам, смотрите ту - http://sirexcel.ru/osvaivaem-excel/kak-razbit-tekst-po-stolbcam-v-excel/
Тогда для Вас будет лучше данный код, он добавляет 0-ки Код (C++): void setup() { Serial.begin(115200); } byte num = 0; void loop() { if (!num) { Serial.println("Dec;Hex;Bin"); } Serial.print(num, DEC); Serial.print(";0x"); if (num < 16) { Serial.print("0"); } Serial.print(num, HEX); Serial.print(";"); PrintBin(num); num++; delay(200); } void PrintBin(byte n) { char buf[8 * sizeof(byte) + 1]; char *str = &buf[sizeof(buf) - 1]; *str = '\0'; int i = 0; do { if (n) { byte m = n; n /= 2; char c = m - 2 * n; *--str = c < 10 ? c + '0' : c + 'A' - 10; } else { *--str = '0'; } i++; } while(i < 8); Serial.println(str); } Не сталкивался с кодом грея, но в сети есть примеры перевода с бинарного в грей и наоборот (не знаю, рабочие или нет, поэтому ссылок не привожу).
такая компиляция бессмысленна, т.к. в МК _все_ числа хранятся в бинарном виде, а то, что выводится как BIN, или HEX, или DEC - это лишь способы визуального представления одного и того же числа.
местный, возможно, имел в виду файл для закачки в мк- есть hex, но бывают и бинарные, не помню уж какой протокол и как называется. Но точно есть.
hex, он же чего-то там интел формат - программатор его чикает, отрезает лишнее и грузит в мк, а в bin уже все вырезано, его можно прямо грузить. Да и загрузчики, прошитые в мк, часто берут через uart файлы в bin формате. Перекомпилировать его можно, из hex (он типа избыточен и в аски) в bin, а обратно - неоднозначно, это все равно как из bin переделать в исходный код. Можно теоретически, но будет треш.
Да может @Mestniy хочет число перекодировать из одного представления в другое (вопрос про таблицу байтов и слова про код Грея как бы намекают), давайте дождемся его ответа
Дико извиняюсь перед всеми вами. Я хочу перекмпелировать hex число, которое приходит в сериал в bin. Но не знаю как это делать. Спасибо за ваши внятные ответы!
Код (C++): uint8_t hexton(const uint8_t h) { if (h >= '0' && h <= '9') return (h - '0'); if (h >= 'A' && h <= 'F') return ((h - 'A') + 10); return 0; } // { uint8_t h,l,b; h = Serial.read(); l = Serial.read(); b = (hexton(h)<<4) | hexton(l); }