Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Передача данных через 1Gbit Ethernet по прерываниям
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы > Программирование
Sh@dow
Здраствуйте.

Есть устройство которае соединено с компом через 1Gbit Ethernet. Устройство собирает данные и отсылает в комп. WinXp/7
Я хочу чтоб было так:
1) Комп отсылает команду на начало сбора
2) Устройство начинает собирать данные и отсылать их в комп
3) Прикладная программа никак не реагирует пока данные отсылаются
4) Данные кладутся драйвером в оперативную память
5) По окончанию сбора устройство шлет уведомление об окончании сбора
6) Драйвер через прерывание уведомляет прикладную пограмму об окончании сбора
7) Прикладная программа забирает данные

Я слабо представляю работу сетевой системы Windows и не представляю как подступиться к проблеме.
Как понимаю есть драйвер сетевухи. А с ним можно взаимодействовать через NDIS.
Может ли пользовательская программа это сделать или для работы через NDIS надо еще один драйвер писать?
gosha
QUOTE (Sh@dow @ Sep 19 2012, 11:44) *
Здраствуйте.

Есть устройство которае соединено с компом через 1Gbit Ethernet. Устройство собирает данные и отсылает в комп. WinXp/7
Я хочу чтоб было так:
1) Комп отсылает команду на начало сбора
2) Устройство начинает собирать данные и отсылать их в комп
3) Прикладная программа никак не реагирует пока данные отсылаются
4) Данные кладутся драйвером в оперативную память
5) По окончанию сбора устройство шлет уведомление об окончании сбора
6) Драйвер через прерывание уведомляет прикладную пограмму об окончании сбора
7) Прикладная программа забирает данные

Я слабо представляю работу сетевой системы Windows и не представляю как подступиться к проблеме.
Как понимаю есть драйвер сетевухи. А с ним можно взаимодействовать через NDIS.
Может ли пользовательская программа это сделать или для работы через NDIS надо еще один драйвер писать?


Это определяется возможностями устройства.

Пишу похожую программу и на комп и на устройство.
На устройстве делаю telnet server на основе lwip

Прикладная программа- включает в себя telnet клиент, который в ascii режиме обменивается данными с устройством.

На PC(windows или Linux) программа на QT пишется по книжкам "программирование сокетов";
Условная компиляция #ifdef LINUX #ifdef WINDOWS

Драйвер не пишется.

Работаем на обоих машинах (device, windows, linux) через tcp-ip стек.
Uuftc
Цитата(Sh@dow @ Sep 19 2012, 10:44) *
Я слабо представляю работу сетевой системы Windows и не представляю как подступиться к проблеме.
Как понимаю есть драйвер сетевухи. А с ним можно взаимодействовать через NDIS.
Может ли пользовательская программа это сделать или для работы через NDIS надо еще один драйвер писать?

в 99% случаев для этого драйвер не нужен.
посмотрите http://www.winpcap.org/
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.