[uquote="tonyk",url="/forum/viewtopic.php?p=4194747#p4194747"]Eddy_Em перфекционист и грубиян.
Но в данном случае отбрось его наезд и разберись с тем, что он тебе сказал.
Уверяю, после этого СОМ-порт у тебя заработает так, как тебе нужно.
Ибо тут я согласен с ним.[/uquote] Да, сижу вот разбираюсь..
Мурик писал(а):икрокомп это типа малина или банан?
Ни как нет. Малина не потянет... Я выше примеры привел - под спойлером.
Мурик писал(а):Система работает с ним из ядра где доступны прерывания, DMA и др.
Ясно..
Мурик писал(а):Он относится к .NET, а не WinAPI
Вы правы! Чёт затупил...
Мурик писал(а):Уже просто столько времени что могли написать на другом ЯП dll работающую с портом и подключить в проекту. Возможно это полностью решило бы проблему.
Тут я еще не понимаю ничего..
Мурик писал(а):Зачем для этих целей нужен игровой 3D движок непонятно
Ну я выше объяснил почему выбор пал на юнити... От незнания..
Мурик писал(а):На Java пишите под андроид.
Ну да, андроид студио.. Начинал было изучать.. Но так лень переделывать то, что уже сделано в юнити... Эмоционально сложно.. Если бы новый проект, то другое дело....
Мурик писал(а):Какой размер буфера приема и передачи и какие тайминги порта.
Как осуществляется прием и передача?
Все просто.
С микроконтроллера сыпется поток на скорости 57600 бод.
Поток представляет из себя пакеты, которые можно разделить по заголовочному байту.
Пакеты разного размера ( по второму заголовочному байту определяю что за пакет и сколько байт он содержит )
Пакеты оканчиваются контрольной суммой...
Перенос строки и возврат каретки CR+LF ( 0x0D и 0x0A ) отсутсвуют.
В принципе могу их допилить в свой поток, но мне бы не хотелось этого делать...
В коде C# я использую функцию ReadByte - то есть считываю по одному байту.
И прям по ходу приема определяю заголовочный байт.
Собираю пакет, проверяю контрольную сумму и отрисовываю то, что принял.
Пакеты прилетают разные ( сейчас их три, затем будет больше - это информация с датчиков )
Чтобы буфер не подвисал регулярно его чищу, размер его я не устанавливал.
Какой установлен по умолчанию тот и используется.
Буфер в драйвере TTL конвертера установлен 4069, но даже если его уменьшить до минимума - программа работает без изменений.
Мурик писал(а):Это все равно что на самолете летать в булочную находящуюся в соседнем квартале
Добавлено after 18 minutes 55 seconds:
Eddy_Em писал(а):Если так критично, используй select вместо poll: там можно микросекундами оперировать.
Ктонибудь может по этому хоть что то подсказать?
****
Вот тут еще нашел пример
https://medium.com/@c824751/unity-ardui ... 40247e5d36
Пытаюсь его реализовать.
Остановите пожалуйста меня сразу, если это бессмысленно