roboforum.ruТехнический форум по робототехнике. |
|
|
dccharacter писал(а):Korbofos писал(а):Я хочу увить значение в десятичном виде
О, маладца. Как насчет printf, sprintf?
unsigned char var = 0x31;
printf("Значение в десятичном виде переменной var: %u", var);
Вывод:
Значение в десятичном виде переменной var: 49
char str[16];
unsigned char a=200;
itoa (a, str, 10);
usart_write(str);
void usart_write(unsigned char data)
{
while (tx_counter == TX_BUFFER_SIZE);
#asm("cli")
if (tx_counter || ((UCSRA & DATA_REGISTER_EMPTY)==0))
{
tx_buffer[tx_wr_index++]=data;
if (tx_wr_index == TX_BUFFER_SIZE) tx_wr_index=0;
++tx_counter;
}
else
UDR=data;
#asm("sei")
}
for(i=0;i<???;i++) //scanf ещё нужно определить конец строки?
{
usart_write(str[i]);
}
dccharacter писал(а):О, маладца. Как насчет printf, sprintf?
unsigned char var=100;
char str[16];
snprintf(str,16,"Var%d",var);
for(i=0;str[i]!=0;i++)
{
usart_write(str[i]);
}
char str
switch(usart_read())
case 's':
for(i=0;i<3;i++) //нужно дочитать несколько байт
{str[i]=usart_read();}
var=atoi(str);
//bla bla
unsigned char var=129;
char str[16];
int str_length = 0;
str_length = snprintf(str,16,"Var %u",var);
while (str_length--) usart_write(str[str_length]);
unsigned char var=129;
char str[16];
int str_length = 0;
str_length = snprintf(str,16,"Var %u",var);
for (int i = 0; i < str_length; i++)
{
usart_write(str[i]);
}
void rs232_putch (char txByte)
{
while (!TXIF);
TXREG = txByte;
}
char rs232_getch (void)
{
if (!RCIF) return -1;
if (FERR) return -2;
return RCREG;
}
void rs232_puts (const char * txstr)
{
while (*txstr)
{
rs232_putch(*txstr++);
}
}
dccharacter писал(а):If the resulting string gets truncated ... returns the total number of characters ... which would have been written, if the limit was not imposed.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20