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

 
 
> Логирование высокоскоростного UART/RS232/RS485, На накопитель на ПК под Windows
en1gma
сообщение Nov 9 2017, 12:29
Сообщение #1


Участник
*

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



Для последующего контроля необходимо записывать ~6,5Mbaud непрерывный поток по RS485 на ПК под управлением Windows. Отображать - опционально. Суммарный объем передаваемых данных - не больше 500МБ.
В качестве приёмника используется плата, которая точно умеет 18Mbaud в одиночных и коротких посылках и настраиваемое по уровню заполнения fifo прерывание.

Откинув ПО, которое не умеет в произвольную символьную скорость, из широко распространённых остаются putty (и его форки) и terminal от bray++, но они вешаются (с прерыванием логирования) при визуализации данных.
Мож кто что подскажет?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
en1gma
сообщение Nov 11 2017, 06:51
Сообщение #2


Участник
*

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



Цитата(jcxz @ Nov 10 2017, 15:12) *
Какое DMA? Вы вроде под программирование под виндой рассуждаете.

вот поэтому вы гуру, а я спрашиваю "в помощь начинающему". у меня под виндой исключительно однопотоковые консольные приложения..
Go to the top of the page
 
+Quote Post
jcxz
сообщение Nov 11 2017, 10:19
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Работать с COM-портом нужно в отдельной задаче через ReadFile()/WriteFile(). Писать/читать в кольцевые буфера, а в GUI-тред передавать сообщения об изменении состояния этих буферов (добавление/удаление байт) и об ошибках. Уже GUI-тред, по мере возможности (необязательно), обрабатывает эти сообщения.
Писать поток в файл - аналогично в отдельном треде.
Тогда и не будет ничего тормозить.
GUI по мере возможности захватывает текущие участки из потока для отображения на экране. Никаких блокировок потока на время каких-то действий GUI не должно быть. GUI должен получать время по мере наличия вычислительных ресурсов, не мешая потоковым задачам.
Вобщем: в том треде, где вы тыкаете на кнопочки на экране и таскаете окошки, не должно быть никаких ReadFile()/WriteFile().
Go to the top of the page
 
+Quote Post



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

 


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


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