Форум: "Система";
Текущий архив: 2002.03.14;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.004 c