Перейти к содержанию
    

C вывод числа в последовательный порт

Имею стартеркитовскую отладку с LPC2388, программу пишу на си в Keil мювижн 4. Передается некоторое целое числовое значение (до 10000 в десятичной системе) по uart, хотелось бы его видеть в окне терминала в десятичном коде.

Я так понимаю, можно поделить его по десятичным порядкам, столбиком, и вывести, перекодируя в коды ASСII, но неужели в этих продвинутых средах разработки на этот случай нет уже чего готового? Или есть какя нибудь библиотека?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я так понимаю, можно поделить его по десятичным порядкам, столбиком, и вывести, перекодируя в коды ASСII, но неужели в этих продвинутых средах разработки на этот случай нет уже чего готового? Или есть какя нибудь библиотека?

Есть, stdlib и функция printf()

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пользуйтесь поиском по форуму.

Миллион раз обсасывалось...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Обсабывалсь действительно много раз, да каждый раз по разному.

Решение именно этой задачи не нашел.

printf("K1 = %04XH\n", K1);

в <stdio.h> и <stdlib.h> выдает только шестнадцатиричные значения? (Без X выдает пустую строку)

К ней добавить десятичный вычитатель.

itoa(..) - хэлп микровижн молчит

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в <stdio.h> и <stdlib.h> выдает только шестнадцатиричные значения? (Без X выдает пустую строку)

a "%d" что выдаёт?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

a "%d" что выдаёт?

То, что надо выдает :biggrin: . Запустил при <stdio.h> . Спасибо, сэкономили просто кучу времени

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

sigmaN Хелпе чего? Направьте на путь истинный пожалуйста.

Хелп мювижн на 70% посвящен отладочным платам и фото их разъёмов и кнопочек. Запрос по тэгам "stdio", "printf" просто вываливает их (отладочные платы) по порядку.

Даташит на контроллер у меня распечатан и переплетен, но там про это ни строчки

Книга Тревора Мартина является большей частью подставкой под плату, чем источник информации.

Гугл же дает много и приходится долго выискивать, жонглирвать запросами

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хелпе чего? Направьте на путь истинный пожалуйста.

 

Начните с Кернигана и Ричи. Ну или конкретно справочник по standard C library. На худой конец - непосредственно стандарт на язык. Все, что касается непосредственно стандарта на язык С платформонезависимо, а потому традиционно не освещается в хелпах на конкретный компилятор/ИДЕ. Предполагается, что пользователь уже знаком непосредственно с языком.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Ео любой хэлп по Си расскажет Вам про printf всё, что только можно и чего нельзя )))

Причём надо понимать, что printf - это функция из стандартной библиотеки языка Си и везде она будет одинакова - т.е. брать можно любой хэлп.

Собственно, гугль первой же ссылкой на запрос printf выдаёт http://ru.wikipedia.org/wiki/Printf уж не знаю что ещё можно добавить. Растолковано всё))

 

И вообще, вбить имя функции в гугль - это ж как Отче наш :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Обсабывалсь действительно много раз, да каждый раз по разному.

Решение именно этой задачи не нашел.

 

Купите себе "Полный справочник по С" Герберта Шилда и положите себе под руку на рабочем столе, тогда не будите срамиться с такими вопросами.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Направьте на путь истинный пожалуйста...

Может быть, вам окажется полезным почитать эту тему.

http://electronix.ru/forum/index.php?showt...=77779&st=0

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Функция itoa. Ее использование не предусматривает переносимости, поскольку эта функция не определена ни в одном стандарте языка Си; тем не менее, компиляторы поддерживают ее за счет использования заголовка <stdlib.h>

 

void itoa(int input, char *buffer, int radix)

 

itoa принимает передаваемое целое число input и конвертирует его в число в основании корня radix. Полученное число (последовательность цифр основания radix) записывается в буфер вывода buffer.

 

Аргумент radix определяет основание системы исчисления для input; его значение может лежать в пределах от 2 до 36.

 

В зависимости от реализации, itoa может возвращать указатель на первый символ в буфере buffer, или может быть создана таким образом, чтобы передавать нуль-buffer, в результате чего функция возвращает длину строки, которая «будет» записана в корректный buffer.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...