реклама на сайте
подробности

 
 
> RS232 и медиаплейеры
WEST128
сообщение Aug 28 2008, 11:15
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 468
Регистрация: 13-10-06
Из: Россия, Томск
Пользователь №: 21 291



Написал программу чтения-записи через COM-порт, и столкнулся с такой интересной особенностью - программа не читает данные с порта до тех пор, пока не запущен какой-нибудь медиаплейер, причем для FooBar2000 требуется, чтобы проигрывалась музыка, как только нажимаю паузу, прием данных тут же отваливается. Стандартный виндовый плейер достаточно просто запустить, и прием данных идет. Не могу предположить, в чем может быть причина столь странного поведения.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
WEST128
сообщение Sep 4 2008, 04:29
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 468
Регистрация: 13-10-06
Из: Россия, Томск
Пользователь №: 21 291



SysRq WaitForSingleObject(WriteEx.hEvent, 10) как раз и делает ожидание завершения записи. Собственно, время ограничено, и бесконечно ждать я не могу. Однако, судя по тестовому прибору (анализатор кадров самодельный) все кадры на запись ходят нормально. SetupComm используется, само собой, буферы ставлю по 2 кБ.
KRS Попробую убрать WaitForSingleEvent(), может и действительно не нужно, я этой строчкой хотел подождать завершение записи, а потом уже приступить к чтению.
Цитата
к тому же если Event создан с bManualReset = false будет глючить!
- можете пояснить этот момент ? врде в документации написано, что функции WriteFile и ReadFile следует использовать именно с автоматическим сбросом, или я неправильно понял ?
Цитата
Вы проводите разбор если байты не считаны?
- конечно нет, просто я не стал приводить весь код целиком.
Go to the top of the page
 
+Quote Post
SysRq
сообщение Sep 4 2008, 08:57
Сообщение #3


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Цитата(WEST128 @ Sep 4 2008, 08:29) *
SysRq WaitForSingleObject(WriteEx.hEvent, 10) как раз и делает ожидание завершения записи.

Ваша правда, я мимо проглядел! 05.gif

Можно попробовать переписать через WaitCommEvent...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- WEST128   RS232 и медиаплейеры   Aug 28 2008, 11:15
- - KRS   А вы "чужой" программой проверяли? ( тер...   Aug 28 2008, 11:43
- - VDG   отдыхать надо   Aug 28 2008, 12:06
- - WEST128   Проверял я не программой, а осциллографом, так что...   Aug 28 2008, 12:12
|- - KRS   Цитата(WEST128 @ Aug 28 2008, 16:12) Пров...   Aug 28 2008, 15:54
- - VDG   Причина столь странного поведения в том, что криво...   Aug 28 2008, 20:28
- - WEST128   Комп на CoreQuad 6600 с 2 Гб памяти, нагрузка исчи...   Sep 2 2008, 03:49
- - Sat360   Было подобное. Одна программа работала нормально т...   Sep 2 2008, 03:56
- - WEST128   Суть программы такова: отсылаем короткий запрос на...   Sep 3 2008, 07:21
|- - KRS   Цитата(WEST128 @ Sep 3 2008, 11:21) WaitF...   Sep 3 2008, 07:36
- - SysRq   Ожидания завершения операции overlapped записи нет...   Sep 3 2008, 18:00
|- - KRS   Цитата(WEST128 @ Sep 4 2008, 08:29) - мож...   Sep 4 2008, 08:05
- - goodwin   Все вполне объяснимо - интервал стандартного тайме...   Sep 4 2008, 05:36
|- - VDG   Цитата(goodwin @ Sep 4 2008, 09:36) При р...   Sep 5 2008, 14:10
- - WEST128   goodwin Спасибо за мультимедийный таймер, я даже ...   Sep 5 2008, 04:15
|- - KRS   Цитата(WEST128 @ Sep 5 2008, 08:15) KRS п...   Sep 5 2008, 07:26
- - WEST128   Мне помогло использование мультимедийного таймера,...   Sep 6 2008, 05:54
|- - VDG   Цитата(WEST128 @ Sep 6 2008, 09:54) Мне п...   Sep 6 2008, 17:58
- - WEST128   Может быть, сейчас просто нет времени выяснять это...   Sep 9 2008, 07:31


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 23:38
Рейтинг@Mail.ru


Страница сгенерированна за 0.01803 секунд с 7
ELECTRONIX ©2004-2016