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

 
 
> То ли лыжи не едут , то ли я долбанутый, IAR 4.11 и STDOUT & STDIN
Ken@t
сообщение Aug 26 2005, 06:35
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 144
Регистрация: 5-08-05
Пользователь №: 7 382



w00t.gif
Не мудрствуя лукаво STDIN и STDOUT перенаправил в UART.
Кстати не в аппнотах ни в доках на иар, ни где нет описания этого механизма, впрочем..
функция getchar() и putchar() юзаемая и в printf/scanf в результате
попадает на __read () __write(), благо описание нашёл по поиску ...
переписал на хендлы STDOUT и STDERR вывод в уарт , здесь всё запиписечно и функционирует... однако с __read() полный пЭ.
во первых

вот такая конструкция
int __read(int h, unsigned char *buf, int size )
{
char chsize = 0;
unsigned char Byte;

if ( h == stdin ){
// printf ("__read(,,%d)",size);
// разкоментировав строку мы получаем байт с уарта с задержкой на 1
// тоесть 1 передаём 'Q' результат getсhar () = 0х00
// 2 передаём 'W' результат getсhar () = 'Q'
// убрав printf Ни чего не считываем cranky.gif далее там ниже...

for (;;--size) {
while(!readUART(&Byte)); /// await
*buffer++ = Byte;
chsize++;
}
return chsize;
} else
return ERR;
}

main () {
....
char _b;

while (1){
_b = getchar(); // здесь трабл , gets (char * ) тоже ни когда не возвращается... по \n
putchar(_b);

}

....

}



К сожалению жтаг не прикручивал , исходников всей цепочки getchar -> getc(FILE*, BYTE) ->... хз -> __read() нет....

что делать ?
где граблю искать ?

Сенькс...

ЗЫ не конечно отказаться от getchar() putchar () можно, но как же с редиректом файлового чтения / записи быть, функция должна работатть

2. чтение из уарта проверено - пропусков / ошибок нет....

--- 30.08.2005 "Хроники Риддика" поговорил сам с собой...
в общем вниматочное изучение даташита на иар с его перекрёстным маразмом ... для начала буферизации в нутри... определено и подтверждено. тепрь осталось эксперементальным путём, а другого не вижу определить параметры линковки длибов ...
Вообще самый простой писать свой вывод на консоль, но планируется реализовать нормальные функции и открывать как файлы так и порты стандартными методами... Как только разберусь с этим добавлю сюда.
Кстати заинстили и кейл а там проще, всё значительнее проще, что было ясно и по предыдущим проектам на 51 платформе..

Удачи.


--------------------
Свет мой зеркальце, скажи, да всю правду расскажи я ль на свете всех тупее, бесполезней и пьянее?
Ты - придурок. Спору нет! Но живет на белом свете вот ТАКИХ еще две трети!
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


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


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