Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Nieblokujący odczyt Pipe-ów w Windows

upanie 27 Maj 2006 22:47 611 0
  • #1 27 Maj 2006 22:47
    upanie
    Poziom 21  

    Witam.

    Mam problem, z którym sobie nie mogę poradzić. Używam driver-a do usb AT91SAM7S256 i chciałbym odczytywać z niego dane w sposób ciągły bez względu na to czy procek coś nadaje czy nie i bez wiedzy na temat rozmiaru tego co nadał. Tworzę rurę za pomocą CreateFile i czytam z niej za pomocą funkcji ReadFile lub ReadFileEx. Jak czytam blokująco to wszystko gra o tyle o ile, tzn. jak są dane w rurze to funkcja ReadFile je wyciąga i szybko wraca, ale jak rura jest pusta albo jest w niej mniej bajtasów niż ja się spodziewam to ReadFile blokuje program na jakiś czas. Jak używam wersji nieblokjącej czyli z OVERLAPPED to działa ale też funkcja ReadFile lub ReadFileEx blokuje program na ok 1-2 sekund. Pomyślałem, że puszczę sobie odczyt na innym wątku i sprawa rozwiązana. Jak się okazało nic z tego bo wszystko działa pięknie dopóki w rurze nie pojawią się dane od procka. Wtedy na moim XP mam piękny bluskrin i rebut systemu ;) - bez sensu.
    Jak macie jakieś pomysły to walcie jak w dym.

    upanie

    0 0
  Szukaj w 5mln produktów