Страница 1 из 1

На СОМ не отправляется строчка целиком

Добавлено: 17 июн 2011, 00:17
Sergey Ivanov
Всем привет ! Пробовал сделать отправку в СОМ слудующие данные:
123.jpg
но на компьютере принимаю только первые 4 байта. скажем, если число 123443, принимаю только 1234

пробовал менять скорость, размер буфера, не помогло. в чём ещё может быть причина ?

спасибо

Re: но СОМ не отправляется строчка целиком.

Добавлено: 17 июн 2011, 09:03
Shpik
Трудно так определить в чем причина, но в глаза бросается сразу построение блок диаграммы. Инициализация порта происходит каждый раз, зачем? Да и очередность выполнения инициализации и записи в порт строго говоря не определена.

Re: На СОМ не отправляется строчка целиком

Добавлено: 17 июн 2011, 14:33
Sergey Ivanov
Спасибо ! попробую инициализацию вытащить за цикл. об этом тоже подумал когда на работу с утра шел )

Re: На СОМ не отправляется строчка целиком

Добавлено: 17 июн 2011, 14:57
Jakob Brontfeyn
Sergey Ivanov писал(а):Спасибо ! попробую инициализацию вытащить за цикл. об этом тоже подумал когда на работу с утра шел )
Инициализацию вынести за цикл это правильно,
но дальше непонятно зачем и как ты хочешь передавать
ясно что каждые 10 милисекунд, далее количестви символов в
однои передаче будет возрастать сначала 1 (i<10),
потом 2 (9<i>99), 3 (99<i>999) и так далее.
Изложи первоисточник цели, что тебе собственно надо, и, может,
посмотри мой давний пример, посвященный ШИМ, с использованием
компорта.

Re: На СОМ не отправляется строчка целиком

Добавлено: 17 июн 2011, 15:50
Sergey Ivanov
хочу просто принимать в сом порт данные счетчика.

Re: На СОМ не отправляется строчка целиком

Добавлено: 17 июн 2011, 16:23
IvanLis
Jakob Brontfeyn писал(а):далее количестви символов в однои передаче будет возрастать
это в принципе можно обойти дополнив "0" спереди до необходимого кол-ва символов

Re: На СОМ не отправляется строчка целиком

Добавлено: 17 июн 2011, 17:18
Jakob Brontfeyn
Точно, посылки, фиксированнои длинны, будет
легче обрабатывать на приеме.
2147483647 - это максимальное значение i,
надо дополнять нулями до 10 символов.
Итак 10 баит имеем со старт и стопбитом 100 бод,
100 раз в секунду 10000 бод, скорость обмена у тебя 19200.
Хватает в принципе, но где-то 60% времени цикла
занимается комуникационный канал...?, рекомендую повысить
до максимальной 115000 бод, если получится.

Re: На СОМ не отправляется строчка целиком

Добавлено: 17 июн 2011, 21:50
Sergey Ivanov
вынес наружу инициализацию и всё стало отлично ! спасибо !