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

 
 
> RS-232 на скоростях 115200 и х2
rf_pcb
сообщение Jun 30 2015, 12:05
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 62
Регистрация: 16-02-11
Пользователь №: 63 037



Прошу дать совет и прокоментировать мои рассуждения.
Пишу ПО по для приема данных от МК на скорости 115200 по интерфейсу RS-232.
В качестве простейшего теста ставлю на ПК перемычку между Rx и Tx.
1 байт, 1 стоп, без четности и всего остального.
Если я правильно понимаю я должен увидеть скорость приема близкую к 7200 байт/с (115200/8/2).
Пишу ПО в Билдере, использую стандартный API функции, но скорость вижу от 200 до 400 байт /с.
Пробовал с выводом на график и с записью в фаил и просто из памяти в фаил, но больше чем 400 байт /с не получил.
Заметил особенность что на XP и 7ке разные скорости.
Подскажиет как быть?
Получу я свои 7200? ну хоть 5000 байт/с?
Go to the top of the page
 
+Quote Post
3 страниц V  < 1 2 3  
Start new topic
Ответов (30 - 33)
Дмитрий_Б
сообщение Nov 22 2016, 20:19
Сообщение #31


Местный
***

Группа: Участник
Сообщений: 211
Регистрация: 25-10-09
Пользователь №: 53 195



Цитата(zltigo @ Nov 22 2016, 21:25) *
Если у Вас одна единственная программа во всем компьютере, то можете и ждать sm.gif и не пущать никого пока не отберут время силой. Ну а по хорошему надо отдавать ненужное время добровольно.

Если верить Microsoft, то это как раз не так. ReadFile в не-overlapped (синхронном) режиме приостанавливает вызвавший ее поток на время получения данных. Во время ожидания другие потоки получают возможность работать.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Nov 23 2016, 09:14
Сообщение #32


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (Дмитрий_Б @ Nov 22 2016, 22:19) *
Если верить Microsoft, то это как раз не так. ReadFile в не-overlapped (синхронном) режиме приостанавливает вызвавший ее поток на время получения данных. Во время ожидания другие потоки получают возможность работать.

Вы же как раз не хотите иметь другие потоки в задаче.



--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Дмитрий_Б
сообщение Nov 23 2016, 15:31
Сообщение #33


Местный
***

Группа: Участник
Сообщений: 211
Регистрация: 25-10-09
Пользователь №: 53 195



Цитата(zltigo @ Nov 23 2016, 13:14) *
Вы же как раз не хотите иметь другие потоки в задаче.

Не совсем так. Мне интересно обоснование идеи запускать чтение в отдельном потоке. Выше говорилось, что это "конечно" нужно делать.
Go to the top of the page
 
+Quote Post
Дмитрий_Б
сообщение Nov 25 2016, 15:30
Сообщение #34


Местный
***

Группа: Участник
Сообщений: 211
Регистрация: 25-10-09
Пользователь №: 53 195



Могу только подтвердить, что чтение в отдельном потоке позволяет надежно принимать быстрый поток данных в большом объеме.
Почему нельзя достичь того же в одном потоке - вопрос открыт.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 20th July 2025 - 22:31
Рейтинг@Mail.ru


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