Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Все еще немного хуже... 24.09.03 16:05 Число просмотров: 1448
Автор: leo <Леонид Юрьев> Статус: Elderman
|
> Это только для скорости хорошо, правда при частоте в 2-3 > гигагерца ловить 11520 прерываний в секунду - мелочи. > А, вот, если надо передать один байтик, и, чтоб, > принимающий комп на него СРАЗУ ЖЕ ответил... Байтик упадет > в очередь, а обработчик об этом не узнает и не ответит, а > компьюер приемник будет ждать. Или при длине пакета не > кратного длине очереди. Точнее, если длина пакета больше 2 > байт (например, 3), то при длине очереди 2, 4, 8 и 14 эта > бяка произойдет.
Это не совсем так, при включеном FIFO и паузе в передаче, прерывание будет сгенерированно даже при незаполненном FIFO. Этот "таймаут" равет удвоенному времени передачи одного символа (если я не ошибаюсь).
На многих новых чипсетах FIFO отключается только "слегка". Варианты самые разные. Например на передачу "в очередь" можно поставить больше одного байта, даже если FIFO выключено.
При приеме тоже возможны "хитрости", например если вовремя не вычитать данные то будет overrun в статусе линии, но при этом из регистра данных приемника можно считывать принятые и не "затерные" overrun-ом байты. И в некоторых случаях (на некоторых чипах) приемник "не видит" одного принятого байта до таймаута, либо до стартовых битов следующей посылки.
С прерываниями по статусу модема все еще хуже. Почти все чипы допускают "потерю" прерывания по статусу модема, если одновременно с этим возникает еще какое-либо событие (прерывание).
Удачи!
http://leo.yuriev.ru/SerialXP
|
|
|