[an error occurred while processing this directive]
Нет.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
Отправлено
Lucky
10 августа 2006 г. 12:18
В ответ на:
COM - порт. Читаю данніе посредством ReadFile. Понятно, что функция может вычитать меньше, чем заказано, и выйти по таймауту. А может ли (+)
отправлено <font color=gray>vinogradov aleksei</font> 10 августа 2006 г. 12:13
Составить ответ
|||
Конференция
|||
Архив
Ответы
Спасибо, я так и думал ...
—
vinogradov aleksei
(10.08.2006 12:21
82.207.17.187
,
пустое
)
Добавлю, эта примитивная функция берет данные не из порта (как многие думают), а из внутреннего виндовского буфера в который винд сбрасывает данные по аппаратным прерываниям. Поэтому будь в буфере хоть 1000 байт - возьмет только два и вернется.
—
Lucky
(10.08.2006 12:27
217.69.212.124
,
пустое
)
Зависит от размера буфера
—
Russ
(10.08.2006 12:33
62.33.25.238
,
пустое
)
Сильно подозреваю, что внутренние аппаратные виндовские буферы не ограничены по размеру. Если в памяти не помещается - сбрасывается на диск. Стандартная технология винды.
—
Lucky
(10.08.2006 12:36
217.69.212.124
,
пустое
)
ну в АПИ када КОМпорт открывается то назначается размер буферов приема и передачи... Но чтоб на диск...)))
—
basilmak
(10.08.2006 12:47
82.142.173.231
,
пустое
)
Ставим буфер, например, 23 байта, по заполнению возникает событие(прерывание), читаем буфер, все.
—
Russ
(10.08.2006 12:38
62.33.25.238
,
пустое
)
Да вроде не так все.
—
Al Volovich
(10.08.2006 12:56
83.146.94.164
, 641 байт)
Я понял. Это конечно ловкий ход, но тогда нужно, чтобы посылка была стандартной длины, что не всегда удобно. Может это событие и возникает, не использовал на практике. Но даже, если сообщение не влезает в буфер, потери данных у меня не было. Значит буфер резиновый. Вы задаете только начальный размер.
—
Lucky
(10.08.2006 12:46
217.69.212.124
,
пустое
)
У меня по протоколу посылка 23 байта, удобно по событию обрабатывать
—
Russ
(10.08.2006 12:47
62.33.25.238
,
пустое
)
ОК and ИК. Вы победили. Испаряюсь, пора и делом заняться.
—
Lucky
(10.08.2006 12:51
217.69.212.124
,
пустое
)
смешно... а если щелчок какой пройдёт? всё сдвинется.... нада каждый байт брать и анализировать, искать начало кадра, канец, контроль - потом думать...
—
basilmak
(10.08.2006 12:51
82.142.173.231
,
пустое
)
По таймеру буфер очищается, посылки идут с определенным таймаутом
—
Russ
(10.08.2006 12:52
62.33.25.238
,
пустое
)
Отправка ответа
Имя (обязательно):
Пароль:
E-mail:
Тема (обязательно):
Сообщение:
Ссылка на URL:
Название ссылки:
URL изображения:
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание