Как прочитать из СОМ порта???
От: Shurik  
Дата: 29.08.01 12:26
Оценка:
Люди!!! Помогите!!!
У меня задача, управлять телефонной станцией через СОМ порт.
Я тренеруюсь на модеме. Посылать комманды у меня получается,
а вот принять ничего не могу получаю последний отправленный символ.
Делаю я это с помощью inp(0x3f8) outp(0x3f8, char), с bioscom
ничего не вышло...Для начала я хотел прочитать ответ модема на комманду
ATI2...Помогите кто чем может...
Re: Как прочитать из СОМ порта???
От: ZORK Россия www.zorkaltsev.com
Дата: 29.08.01 14:01
Оценка:
Здравствуйте Shurik, вы писали:

S>Люди!!! Помогите!!!

S>У меня задача, управлять телефонной станцией через СОМ порт.
S>Я тренеруюсь на модеме. Посылать комманды у меня получается,
S>а вот принять ничего не могу получаю последний отправленный символ.
S>Делаю я это с помощью inp(0x3f8) outp(0x3f8, char), с bioscom
S>ничего не вышло...Для начала я хотел прочитать ответ модема на комманду
S>ATI2...Помогите кто чем может...

А ты под какую ОС пишешь?
Думать надо ...головой :)
Re[2]: Как прочитать из СОМ порта???
От: Shurik  
Дата: 30.08.01 05:29
Оценка:
Здравствуйте ZORK, вы писали:
ZORK>А ты под какую ОС пишешь?
Под DOS...
Re[3]: Как прочитать из СОМ порта???
От: eim  
Дата: 30.08.01 11:58
Оценка:
Прочитай в MSDN или еще где про квитирование и прочие штуки, связанные с COM-портами. Посмотри экзамплы классов или компонентов. И мой совет — забудь про DOS, работай c COM-портами в Windows через Readfile/Writefile, избавишься от геморроев с ассемблером.
Re: Как прочитать из СОМ порта???
От: GDV Беларусь  
Дата: 31.08.01 11:23
Оценка:
Здравствуйте Shurik, вы писали:

S>Люди!!! Помогите!!!

S>У меня задача, управлять телефонной станцией через СОМ порт.
S>Я тренеруюсь на модеме. Посылать комманды у меня получается,
S>а вот принять ничего не могу получаю последний отправленный символ.
S>Делаю я это с помощью inp(0x3f8) outp(0x3f8, char), с bioscom
S>ничего не вышло...Для начала я хотел прочитать ответ модема на комманду
S>ATI2...Помогите кто чем может...


Если все же надо это написать под DOS, то придется писать свои обработчик прерываний.
каждый раз когда приходит байт от модема или закончилась передача посылаемого байта, генерируется прерывание. таким образом можно принимать и посылать последовательности байт не загружая процессор. Для этого потребуется настройка портовой микросхемы и немного помучиться с прерываниями, но это очень просто(особенно при небольшом знании ассемблера)
если проблема осталась — пиши подмогу
Re[3]: Как прочитать из СОМ порта???
От: av Россия  
Дата: 02.09.01 13:59
Оценка:
В таком случае проще всего читать самому через порты.

#define BASEADDR 0x378

char ReceiveByte ()
{
// Ждем, пока придет байт
while (!(_inp (BASEADDR + 5) & 1));

// Читаем его
return _inp (BASEADDR);
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.