Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.03.14;
Скачать: CL | DM;

Вниз

COM Port. Помощь в начинании.   Найти похожие ветки 

 
Darker2   (2001-10-28 07:54) [0]

Привет всем!
Раньше занимался только БД, вот возникла необходимость осваивать и такое. Читаю литературу, как открыть его, настроить, видно из статей. Видел и ставил компоненты. А откровенно говоря без логики работы... понимаю только 30-50%.
Ну например:
Скорость - 600 бод;
1 стартовый, 8 информационных, 1 стоповый;
Байт синхронизации - 0а5Н.

После чего я эти 8 бит обрабатывать буду.

Насколько я понял, байт синхронизации нужен если я дескриптор файла привязанного к СОМу. Ну и т.п.

Ребята... кому не лень, пожалуйста объясните, или ссылочку на более понятную инфу... за все отклики заранее спасибо.


 
Darker2   (2001-10-28 08:06) [1]

Насколько я понял, байт синхронизации нужен если я дескриптор файла привязанного к СОМу. Ну и т.п.
Извиняюсь... :о)
Хотел сказать если я буду испльзовать этот дескриптор...


 
nil ©   (2001-10-28 13:06) [2]

не надо лезть в такие дебри. Делфи хорошо работает с СОМ портами через АРI Communication Functions. и посмртри структуру DCB в Windows SDK help


 
Darker2   (2001-10-28 14:38) [3]

То nil:
структуру DCB я посмотрел, а "АРI Communication Functions" не нашел.


 
nil ©   (2001-10-28 23:44) [4]

открой Delphi -> Help->Windows SDK и в index набери Communication Functions


 
Darker2   (2001-10-29 06:13) [5]

То nil:
Спасибо, нашел. Но если честно не понял, чем АРI Communication Functions лучше :о(
Я же говорю... я впервые взялся за СОМ порты, а вся инфа в основном кто уже хоть что-то понимает :о)


 
savva ©   (2001-10-29 09:56) [6]

как работать с портами
http://www.delphikingdom.com/mastering/ports5.htm
под билдер:
http://www.happytown.ru/prog/practika/com_win32.html

я этим пользовался...


 
TonnyS   (2001-10-29 11:04) [7]

Ком порт поддерживает максимум 115200 бит/с, т.к. порт асинхронный, то начало передачи определяется стартовым битом, потом идут биты данных (8 например) потом стоповый бит. Таким образом, для передачи 1 байта данных нужно 10 бит, следовательно 115200 бит/с = 11520 кБайт данных. А вообще это всё знать не обязательно, если через API програмить :) хотя мне было воблом с апи разбираться и я напрямую в порт писал.


 
Darker2   (2001-10-29 12:12) [8]

Всем спасибо!!!
Я нашел компонент, доволно простой(14кб), но... надеюсь его хватит :о)
Вопрос такой:
Я получаю от весов даныые с байтом синхронизации, например он (%)
соответственно если открыть порт и через 5 сек прочитать буфер -
Buf:=(рыац%йцукенгш%длоро) то информация (рыац% йцукенгш%длоро) после чего можно порт закрыть, и с помощью Str:=COPY(Buf,6,8)работать
с Str. Я прав?
Если хотите могу слить в кладовку файл компонентика


 
Darker2   (2001-10-29 12:25) [9]

Проблема в том что я этих весов и в глаза не видел :о)
Но что они посылают скорость(600) и байт синхронизации(0a5H) знаю.
Да забыл... есть еще и стоповый бит (Почему бит, а не байт?).


 
Anatoly Podgoretsky ©   (2001-10-29 16:03) [10]

TonnyS (29.10.01 11:04)
Ком порт поддерживает максимум 115200 бит/с

Ты отстал от жизни, у меня используются порты на 460800 и 921600 и ничего нормально работают


 
Juri   (2001-11-03 10:46) [11]

Ув. Darker2 , а весы случайно не Петровес , уж больно по протоколу похоже.
Мы такие используем и уже написана программа коммуникации с компом написана,там ничего сложного.
А по поводу стопового бита - почему бит? Ответ - потому , что бит.
При формате передчи 8-бит(1-байт) к информационним битам может присоеденяется еще бит четности и стоповый бит один,полтора или два.
Стоп бит - это просто порт находится в режиме паузы на время определяемое скорости передачи 1; 1,5 или 2 бита.









 
Darker ©   (2001-11-07 07:12) [12]

To: Juri
Абсолютно верно - Петровес! (вот что значит спец! :о)
Могли бы Вы пример скинуть, если не трудно. Или объяснить как он точно работает. Я эти весы в глаза не видел. У меня есть их пример на VB, у них там включается таймер на 5 сек., после чего он ждет появления чего либо в буфере, если ничего не появляется то выводит ошибку порта (пусто), если же информация есть он проверяет первый байт на синхронизацию, если нет снова включает таймер и так далее, если первый синхр. то далее идет расшифровка.
И еще вопрос: весы постоянно передают данные?

Заранее благодарен за любую информацию!


 
REL   (2001-11-09 11:20) [13]

to savva.
Привет дружище. Давно тебя не видел. Помню, как ты помог мне с портами.

Пиши, если что. Пока, Eugene (REL)


 
savva ©   (2001-11-09 12:21) [14]

>REL привет!!
а я долго отсутствовал....:)))


 
GennadyS   (2001-12-11 16:37) [15]

Вопрос:
В функциях АПИ есть что-то подобное обработки прерываний от СОМ порта?

Мне нужно получить информацию от прибора. Я ему посылаю команду и жду, когда он мне перешлет, по таймеру. Можно ли исключить таймер?



Страницы: 1 вся ветка

Текущий архив: 2002.03.14;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.016 c
3-42971
Natalie
2002-02-16 23:01
2002.03.14
проблемы при работе с ADO


1-43115
Miwa
2002-02-28 07:23
2002.03.14
Где взять QReport?


1-43000
Дмитрий
2002-02-28 12:27
2002.03.14
Перекодировка XML UTF-8->window-1251


1-43105
Noname2002
2002-02-28 10:39
2002.03.14
Работа с компонентами


1-43046
Муть
2002-02-25 18:43
2002.03.14
Ошибка при использовании treeview