Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
Получится. Но не сразу.
Отправлено
vitalyn 05 февраля 2008 г. 11:19
В ответ на:
Ничего не получится? отправлено
der Student 05 февраля 2008 г. 10:20
Сначала вкурить протокол передачи по ком-порту, включая flow control, а потом уже приниматься за перехват.
Вкратце. Существуют ситуации, когда одна сторона не всегда может быть готова к приёму данных от второй стороны. Как сообщить о готовности/неготовности? Есть три способа:
1) аппаратно. Для этой цели предусмотрены сигналы RTS и CTS, а также DTR, DSR и DCD. Когда одна сторона хочет чего-то передать - она выставляет сигнал RTS (Request To Send). Вторая сторона подтверждает CTS (Clear To Send), дескать, можно передавать. Если не готова - просто не выставляет CTS, тогда контроллер компорта даже не пытается ничего слать.
2) программно - когда одна сторона не готова к приёму данных, она посылает спецсимвол XOFF, командующий "погоди слать пока". Когда станет готова к приёму - шлёт XON, дескать, валяй дальше. Этот метод называется стартстопным или XON/XOFF.
Это и называется flow control.
Ну и есть ещё вариант
3) нихрена не контролировать на нижнем уровне, полагаясь на верхний уровень, если что - переповторят там. При этом CTS тупо замыкают на RTS или отключают эту фичу в контроллере.
Составить ответ | Вернуться на конференцию
Ответы