Привет. не удается нормально реализовать задержку после передачи очередного символа в ком-порт. т.е данные поступают после "разборки" файла очень быстро и слитно. как их разбить на отдельные символы ? необходимо после передачи каждого полубайта получать подтверждение.
Этот топик читают: Гость
Ответов: 3
Рейтинг: 0
|
|||
карма: 0 |
|
Ответов: 2125
Рейтинг: 159
|
|||
Насколько я понимаю, драйвер не сразу отправляет данные, а после определённой задержки, чтобы, если за это время пришли ещё данные, отправить их вместе. Надо копать ioctl.
|
|||
карма: 1 |
|
Ответов: 8954
Рейтинг: 824
|
|||
Plazma, СОМ порт работает с байтами, чтобы передавать "полубайт" байт надо разбить, дополнить до байта половинки - это имеется ввиду? или при приёме полученную строку данных делить на байты и полубайты и анализировать?
[size=-2]------ Добавлено в 20:39 Plazma, вот схемка из тех, что были, чуть подстроенная для побайтного приёма-передачи (у меня 2 шт СОМ-порта на компьютере, соединил их и проверил) code_668 |
|||
карма: 19 |
| ||
файлы: 1 | code_668.txt [3.2KB] [626] |
Ответов: 3
Рейтинг: 0
|
|||
Леонид, спасибо, удалось заставить передавать по целому байту, пришлось только между байтами делать задержку в 30 мкс.
Теперь другая проблемка - у меня реализована загрузка информации через GSM, как через удлинитель т.е - комп-->мобилка-->мобилка-->микроконтроллер. Все работает, информация загружается нормально, но мне очень тяжело мониторить ответы микроконтроллера, т.е любой посланный мной полубайт, отвечает мне символом псевдографики, а разгрести кучу таких символов очень проблематично. Как избавится от этого эха ? |
|||
карма: 0 |
|
Ответов: 8954
Рейтинг: 824
|
|||
Plazma, чуть-чуть не понятно, т. е. Вы получаете ответ: микроконтроллер - мобилка - мобилка - компьютер и не просто этот ответ понять? А что там должно быть?, сохранить в файле и в спокойной обстановке проанализировать?
|
|||
карма: 19 |
|
Ответов: 3851
Рейтинг: 159
|
|||
Plazma, у тебя микроконтроллер не в режиме терминалки работает, случайно ?
|
|||
карма: 0 |
|
Ответов: 3
Рейтинг: 0
|
|||
Леонид, Ответ получаю нормальный, просто все что посылаю доходит до микроконтроллера, но в тот же момент каждый переданный полубайт возвращается ко мне каким нить крокозяблом. Т.е ответы микроконтроллера мне приходится вылавливать среди кучи крокозяблов. Такое ощущение, что сеть отвечает мне на каждый полубайт, каким то дурацким подтверждением.
Андрей., микроконтроллер подключен к мобилке через ее терминал. |
|||
карма: 0 |
|
Ответов: 8954
Рейтинг: 824
|
|||
Plazma, может это контрольная сумма, вычисленная по какому-нибудь алгоритму?, но в этом случае и Ваши посылки должны ею сопровождаться
![]() А в инструкциях (описаниях,...) ничего нет по этому поводу? Сохраните Ваши сигналы и ответы на них для анализа, может что и прояснится. |
|||
карма: 19 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Ваши посылки должны ею сопровождаться обязательно. Передающая (компьютер) должна обязательно анализировать ответ. Леонид, вспомните BayCom ![]() |
|||
карма: 25 |
|
Ответов: 3851
Рейтинг: 159
|
|||
Если речь идёт о терминале, то в общем случае эхо можно подавить (так вводится пароль, например). Длину посылки данных тоже как-то регулируют (7-ми битные например не редкость).
|
|||
карма: 0 |
|
10