yakub_EZ
Nov 3 2010, 09:34
Имею стартеркитовскую отладку с LPC2388, программу пишу на си в Keil мювижн 4. Передается некоторое целое числовое значение (до 10000 в десятичной системе) по uart, хотелось бы его видеть в окне терминала в десятичном коде.
Я так понимаю, можно поделить его по десятичным порядкам, столбиком, и вывести, перекодируя в коды ASСII, но неужели в этих продвинутых средах разработки на этот случай нет уже чего готового? Или есть какя нибудь библиотека?
MrYuran
Nov 3 2010, 09:53
Цитата(yakub_EZ @ Nov 3 2010, 13:34)

Я так понимаю, можно поделить его по десятичным порядкам, столбиком, и вывести, перекодируя в коды ASСII, но неужели в этих продвинутых средах разработки на этот случай нет уже чего готового? Или есть какя нибудь библиотека?
Есть, stdlib и функция printf()
dimka76
Nov 3 2010, 10:05
еще itoa(...) можно использовать
последовательно вычитать степени 10
demiurg_spb
Nov 3 2010, 10:33
Пользуйтесь поиском по форуму.
Миллион раз обсасывалось...
yakub_EZ
Nov 3 2010, 11:35
Обсабывалсь действительно много раз, да каждый раз по разному.
Решение именно этой задачи не нашел.
Код
printf("K1 = %04XH\n", K1);
в <stdio.h> и <stdlib.h> выдает только шестнадцатиричные значения? (Без X выдает пустую строку)
К ней добавить десятичный вычитатель.
itoa(..) - хэлп микровижн молчит
MrYuran
Nov 3 2010, 11:44
Цитата(yakub_EZ @ Nov 3 2010, 15:35)

в <stdio.h> и <stdlib.h> выдает только шестнадцатиричные значения? (Без X выдает пустую строку)
a "%d" что выдаёт?
yakub_EZ
Nov 3 2010, 11:52
Цитата(MrYuran @ Nov 3 2010, 14:44)

a "%d" что выдаёт?
То, что надо выдает

. Запустил при <stdio.h> . Спасибо, сэкономили просто кучу времени
Иногда хэлпы читать всё ж полезно))
yakub_EZ
Nov 3 2010, 20:13
sigmaN Хелпе чего? Направьте на путь истинный пожалуйста.
Хелп мювижн на 70% посвящен отладочным платам и фото их разъёмов и кнопочек. Запрос по тэгам "stdio", "printf" просто вываливает их (отладочные платы) по порядку.
Даташит на контроллер у меня распечатан и переплетен, но там про это ни строчки
Книга Тревора Мартина является большей частью подставкой под плату, чем источник информации.
Гугл же дает много и приходится долго выискивать, жонглирвать запросами
Artem_Petrik
Nov 3 2010, 20:39
Цитата(yakub_EZ @ Nov 3 2010, 22:13)

Хелпе чего? Направьте на путь истинный пожалуйста.
Начните с Кернигана и Ричи. Ну или конкретно справочник по standard C library. На худой конец - непосредственно стандарт на язык. Все, что касается непосредственно стандарта на язык С платформонезависимо, а потому традиционно не освещается в хелпах на конкретный компилятор/ИДЕ. Предполагается, что пользователь уже знаком непосредственно с языком.
Ну да да, эмбэддэд среды разработки более ориентированы на свою специфику и даже не смотря на наличие компилятора, могут не содержать хэлпа.
Ео любой хэлп
по Си расскажет Вам про printf всё, что только можно и чего нельзя )))
Причём надо понимать, что printf - это функция из
стандартной библиотеки языка Си и везде она будет одинакова - т.е. брать можно любой хэлп.
Собственно, гугль первой же ссылкой на запрос printf выдаёт
http://ru.wikipedia.org/wiki/Printf уж не знаю что ещё можно добавить. Растолковано всё))
И вообще, вбить имя функции в гугль - это ж как Отче наш
sergeeff
Nov 4 2010, 07:35
Цитата(yakub_EZ @ Nov 3 2010, 15:35)

Обсабывалсь действительно много раз, да каждый раз по разному.
Решение именно этой задачи не нашел.
Купите себе "Полный справочник по С" Герберта Шилда и положите себе под руку на рабочем столе, тогда не будите срамиться с такими вопросами.
Цитата(yakub_EZ @ Nov 3 2010, 22:13)

Направьте на путь истинный пожалуйста...
Может быть, вам окажется полезным почитать эту тему.
http://electronix.ru/forum/index.php?showt...=77779&st=0
alekseykoj
Feb 10 2011, 10:18
Функция itoa. Ее использование не предусматривает переносимости, поскольку эта функция не определена ни в одном стандарте языка Си; тем не менее, компиляторы поддерживают ее за счет использования заголовка <stdlib.h>
void itoa(int input, char *buffer, int radix)
itoa принимает передаваемое целое число input и конвертирует его в число в основании корня radix. Полученное число (последовательность цифр основания radix) записывается в буфер вывода buffer.
Аргумент radix определяет основание системы исчисления для input; его значение может лежать в пределах от 2 до 36.
В зависимости от реализации, itoa может возвращать указатель на первый символ в буфере buffer, или может быть создана таким образом, чтобы передавать нуль-buffer, в результате чего функция возвращает длину строки, которая «будет» записана в корректный buffer.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.