Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Преобразование int в char и prntf
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
MarYuriy
Здравствуйте!

Использую Keil и stm32f103.

Как преобразовать переменную в строку? В хидерах нет функции itoa().

Хотел, как альтернативу для передачи по USART использовать функцию printf() - контроллер зависает напрочь.
Вячик13
Цитата(MarYuriy @ May 7 2012, 16:10) *
Здравствуйте!

Использую Keil и stm32f103.

Как преобразовать переменную в строку? В хидерах нет функции itoa().

Хотел, как альтернативу для передачи по USART использовать функцию printf() - контроллер зависает напрочь.

А причём тут printf? Нужно использовать sprintf. С этим же набором он у меня прекрасно работает.
andron86
Наверное так.
Код
void Integer2Str(char *s, int bin, unsigned char cnt)
{
    s += cnt;

    while (cnt--)
    {
        *--s = (bin % 10) + '0';
        bin /= 10;
    }
}
MarYuriy
Спасибо, andron86, всё работает!

Вячик13, sprintf() я тоже пробовал, не работает, может не так пробовал?

Пробую так:

char bf[50];
int sp, a = 12, b = 112;
sp = sprintf(bf, "%d minus %d = %d",a,b,a-B );
print("\n\r");
toweroff
Цитата(MarYuriy @ May 8 2012, 10:21) *
Пробую так:

char bf[50];
int sp, a = 12, b = 112;
sp = sprintf(bf, "%d minus %d = %d",a,b,a-B );
print("\n\r");

1. Почему a-B
2. И что в конце? ну получили bf, а дальше-то что?
MarYuriy
Цитата(toweroff @ May 8 2012, 12:31) *
1. Почему a-B
2. И что в конце? ну получили bf, а дальше-то что?


1.Потому что B - это часть преобразованного смайлика - я упустил это, когда отправил сообщение -> cool.gif. B )
2. Я и не понимаю, как им пользоваться.
toweroff
мда...
Код
sprintf(bf,"%d",a);
print(bf);
print("\n\r");


в Вашем случае в bf получите
Код
12 minus 112 = -100
kan35
Для того, чтобы prntf заработал следует во первых определить функцию вывода символа
int putchar (int);
Кроме того, для нормально работы printf (чтобы не зависал) следует увеличить стек на 200-300 слов.
карабас
и еще полезно почитать реализацию Chana, ссылка http://elm-chan.org/fsw/strf/xprintf.html
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.