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

 
 
> Вопрос к знатокам по stdio.h
megaloki
сообщение Nov 11 2006, 13:28
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 19
Регистрация: 28-09-05
Пользователь №: 9 057



Извините если что но все же. решыл попробовать переназначить ввод-вывод через функции printf scanf

Переписал либы так:
size_t __write(int Handle, const unsigned char * Buf, size_t Bufsize)
{
int nChars = 0;
/* Check for stdout and stderr
(only necessary if file descriptors are enabled. */

if (Handle != 1 && Handle != 2)
{
return -1;
}

for (/*Empty */; Bufsize > 0; --Bufsize)
{
lcd_putchar(Buf[nChars]);
nChars++;
}
return nChars;

}

size_t __read(int Handle, unsigned char * _Buf, size_t size)
{
int nChars = 0;

/* Check for stdout and stderr
(only necessary if file descriptors are enabled. */
/*
if (Handle != 1 && Handle != 2)
{
return -1;
}
*/
for (/* Empty */; size > 0; --size)
{
int c = read_char_USART1();
if (c < 0){
_Buf[nChars]=0;
break;
}

*_Buf++ = c;
++nChars;
}
return nChars;
}

В функции main() написал так:
__no_init char buffer [MAX_BUFFER_LENGTH + 1];
int i;

for(;;)
{

lcd_clear();
temp=scanf("%i",&i);
if (temp==0) scanf("%s",buffer);
printf("%i",i);
i=0;buffer[0]=0;
lcd_gotoxy(0,1);
printf("sca=%i",temp);
Delay_ms(1000);
}

Функция ввода читает символы с юсарта и выводит их на ЖК дисплей. Вроде все пашет но как только я ввожу число из 3 однаковых цифр (например 222) то на дисплей выводится 22 и вывод прекращаэтся тоесть если я ввожу 1234 то все ок.

Подскажыте в чом косяк... help.gif help.gif help.gif


--------------------
Было бы железо софт напишем
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
megaloki
сообщение Nov 12 2006, 23:05
Сообщение #2


Участник
*

Группа: Новичок
Сообщений: 19
Регистрация: 28-09-05
Пользователь №: 9 057



w00t.gif Все всем спасибо проблема решылась. Просто при вводе с USART была слишком велика погрешность и при 3х однаковых посилках всплывал старшый бит..........


--------------------
Было бы железо софт напишем
Go to the top of the page
 
+Quote Post



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

 


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


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