реклама на сайте
подробности

 
 
> Преобразование int в char и prntf
MarYuriy
сообщение May 7 2012, 13:10
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 59
Регистрация: 20-11-10
Пользователь №: 61 036



Здравствуйте!

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

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

Хотел, как альтернативу для передачи по USART использовать функцию printf() - контроллер зависает напрочь.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
andron86
сообщение May 7 2012, 14:26
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 406
Регистрация: 1-03-06
Пользователь №: 14 821



Наверное так.
Код
void Integer2Str(char *s, int bin, unsigned char cnt)
{
    s += cnt;

    while (cnt--)
    {
        *--s = (bin % 10) + '0';
        bin /= 10;
    }
}
Go to the top of the page
 
+Quote Post
MarYuriy
сообщение May 8 2012, 06:21
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 59
Регистрация: 20-11-10
Пользователь №: 61 036



Спасибо, 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");

Сообщение отредактировал MarYuriy - May 8 2012, 06:22
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 22:08
Рейтинг@Mail.ru


Страница сгенерированна за 0.01363 секунд с 7
ELECTRONIX ©2004-2016