Страница 1 из 1

Как преобразовать переменную у символы ?

Добавлено: Пн фев 07, 2011 15:59:44
inkHunter
Как у WinAVR преобразовать число (переменную) у символы что бы передать через UART ?

Re: Как преобразовать переменную у символы ?

Добавлено: Пн фев 07, 2011 16:34:31
Vov123
Прибавляй 48.

Re: Как преобразовать переменную у символы ?

Добавлено: Пн фев 07, 2011 18:35:34
ARV
Victor Gordienko писал(а):Как у WinAVR преобразовать число (переменную) у символы что бы передать через UART ?
sprintf, printf, itoa - этих СТАНДАРТНЫХ функций вам не достаточно?

Re: Как преобразовать переменную у символы ?

Добавлено: Пн фев 07, 2011 18:52:11
inkHunter
ARV писал(а):
Victor Gordienko писал(а):Как у WinAVR преобразовать число (переменную) у символы что бы передать через UART ?
sprintf, printf, itoa - этих СТАНДАРТНЫХ функций вам не достаточно?
Да что то у меня не получаться как вы говорили .... толи руки кривые то ли МК второй раз вижу ...
Вот что сделал по своему
#include <avr/io.h>
#include <stdio.h>

void Usart_Transmit(unsigned char data)
{
while(!(UCSRA & (1<<UDRE))){};
UDR = data;
}

void main (void)
{
UCSRB=(1<<3);
UBRRL=0x33;
unsigned char *m="AVR";
int i=10;

while (1)
{
for (i=0;i<3;i++)
Usart_Transmit(m);
}
}

Но передавать можно только строчку, а как передать int ??? никак не могу сообразить ((((

Re: Как преобразовать переменную у символы ?

Добавлено: Пн фев 07, 2011 19:40:37
ARV
по вашему посту я понял, что совету прочесть описание модуля stdio.h вы так и не последовали... ждете, пока вам готовенькое подсунут... что ж, подсуну готовенькое... добавите сишник к проекту, а хидер подключите к своей программе и у вас заработает printf в USART, никаких других телодвижений делать не нужно.

но более от меня помощи не ждите, пока не разберетесь, почему все именно так происходит.

Re: Как преобразовать переменную у символы ?

Добавлено: Пн фев 07, 2011 20:16:33
inkHunter
ARV писал(а):по вашему посту я понял, что совету прочесть описание модуля stdio.h вы так и не последовали... ждете, пока вам готовенькое подсунут... что ж, подсуну готовенькое... добавите сишник к проекту, а хидер подключите к своей программе и у вас заработает printf в USART, никаких других телодвижений делать не нужно.

но более от меня помощи не ждите, пока не разберетесь, почему все именно так происходит.
спасибо сейчас буду делать ... я так само делал как написано у пдфке. и у меня получалась ошибка у static int uart_putchar(char c, FILE *stream) ... Спасибо большое )))