Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.10.2012, 22:41   #1
Dmytrohan
Новичок
Джуниор
 
Регистрация: 14.10.2012
Сообщений: 2
Лампочка COM - port паскаль RXD TXD

Доброй ночи, программисты))) Программирую недавно, но знаком с языком нормально. Сегодня попытался создать программу, которая могла б вывести данные по ком порту а именно по 2 контактам RxD и TxD, но увы, ничего не вышло((( Насколько я знаю RxD - это прием, а TxD - передача. Программа на паскале или С++ ,все же лучше на паскале))) Должна передать и принять данные между 2 компьютерами.
Подключено так: RxD первого на TxD второго, TxD первого на RxD второго.

Прога должна напоминать что-то типа чата. Например : на первом я написал букву "Q" и переправил ее, значит на втором она должна появиться, предварительно передавшись через СОМ порт. Можно даже просто кусочек программы, что передает по паралельному порту разные символы( буквы, цифры и т.п).

Очень надо, помогите пожалуйста)))
Dmytrohan вне форума Ответить с цитированием
Старый 15.10.2012, 00:11   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

CreateFile для открыть
потом настройка, можно COMMTIMEOUTS и DCB использовать
ReadFile, WriteFile для работы
p51x вне форума Ответить с цитированием
Старый 15.10.2012, 07:54   #3
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

Паскаль под DOS?
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 15.10.2012, 10:28   #4
Dmytrohan
Новичок
Джуниор
 
Регистрация: 14.10.2012
Сообщений: 2
По умолчанию

Raxp, да паскаль под Dоs)) Р51х, можно детальнее?
Dmytrohan вне форума Ответить с цитированием
Старый 16.10.2012, 20:38   #5
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

Для обмена через Com-порты необходимо использовать несколько больше контактов разъёма.
Не все сигналы обязательно передавать, т.е. и двух может хватить, но часть сигналов на разъемах необходимо перемыкать.
Все же лучше на эту тему почитать по бОлее.
На первом этапе - самое простое, что можно сделать, это соединить два компа так, как этого хочется.
Затем запустить телекоммуникационную программу на обоих компах - тот-же Hiper Terminal - см. Стандартные-Связь.
После того, как удастся настроить обмен и передавать символы от одного компа к другому, станет понятно, что такое Xon, Xoff и как настраивать программный обмен.

И еще раз - почитайте литературу о Com-портах, какие там есть настройки.
Успехов!


Как-то так ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 16.10.2012, 20:45   #6
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

Цитата:
Raxp, да паскаль под Dоs))
...ну, дык и пишите в порт явно Outport().

outport(int portid, unsigned char value) - отсылка, inport() - прием.
Цитата:
outportb - это макрокоманда, которая записывает значение параметра value в выходной порт, определяемый параметром portid.

При вызове outportb при указанном включаемом файле dos.h, то outportb рассматривается как макро, и расширяется во встроенный машинный код. Если вы не включаете файл dos.h, или если вы отменили outportb командой #undef, то получите функцию outportb.
Код:
 outportb(0x3f8 + 1 , 0);
 
 outportb(0x3f8 + 3 , 0x80);  /* SET DLAB ON */
 outportb(0x3f8 + 0 , 0x03);  /* Set Baud rate - Divisor Latch Low Byte */
                  /* Default 0x03 =  38,400 BPS */
               
 outportb(0x3f8 + 1 , 0x00);  /* Set Baud rate - Divisor Latch High Byte */
 outportb(0x3f8 + 3 , 0x03);  /* 8 Bits, No Parity, 1 Stop Bit */
 outportb(0x3f8 + 2 , 0xC7);  /* FIFO Control Register */
 outportb(0x3f8 + 4 , 0x0B);
Цитата:
но передавшись через СОМ порт. Можно даже просто кусочек программы, что передает по паралельному порту разные символы( буквы, цифры и т.п)
вы уж определитесь, через какой порт работаете, COM или LPT ...хотя под DOS для работы с COM-портами советую воспользоваться готовыми FOSSIL-драйверами, их море. Я предпочитал Adf_150 и Bnu202.
Вложения
Тип файла: zip help_fossil.zip (182.3 Кб, 17 просмотров)
Тип файла: zip BNU202.ZIP (69.1 Кб, 16 просмотров)
Тип файла: zip ADF_150.ZIP (27.9 Кб, 16 просмотров)
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Com port C# Sanek59 C# (си шарп) 1 23.08.2012 11:54
com port player891 Общие вопросы Delphi 0 21.03.2012 19:26
Port Diunix SQL, базы данных 0 18.10.2011 10:06
Com Port Pepelyaev Общие вопросы Delphi 5 26.11.2006 22:31