Кажется до меня дошел один из вариантов решения. Скорость на СОМ порту для связи с ПК(СОМ1) поставлю побольше (скажем 1200бод). Контроллер с линии через СОМ2 будет принимать на скорости 50 бод и выплевывать в СОМ1. Получится, что время паузы между символами для СОМ1 окажется большим и он будет кидать по одному символу в окно приема. А для того, чтобы при передаче с ПК на контроллер (в линию) не переполнить буфер контроллера введу элемент задержки в передающую часть схемы. Теоретически должно работать.
P.S. СОМ1 и СОМ2 - те, что на плате контроллера (не на ПК).
------------ Дoбавленo:
Попытался промоделировать: Установил заглушку на СОМ порт, в программе выставил скорость порта 19200, в цепь передачи установил елемент задержки (500 000 мкс). Набрал произвольный текст и пустил на передачу. По идее в СОМ порт каждеы 500мс должен поступать один символ. Таймаут порта 10мс. Значит символы должны поступать в окно приема по одному. Но нет! Ждет приема всего текста! Я не знаю, что и думать.
Зашил в контроллер слово "TEST" в коде МТК-2 и пустил на передачу в ПК с тремя разными задержками( TEST-5мс-TEST-100мс-TEST-500мс). Программа в приемном окне принимает пусть не по символу, но по 4-6 за раз. Пустил тот-же текст, но с компьютера на МК, МК транзитом обратно в окно приема - ждет весь кусок! Смотрел в мониторе СОМ порта - двоичный набор одинаков для обоих случаев! Заколдованный круг.
Ответов: 125
Рейтинг: 0
|
|||
карма: 1 |
|