![]() |
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]() ![]() ![]() |
|
svip |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 27.3.2007 Репутация: нет Всего: нет |
возникла такая проблема. есть АЦП нужно связать его с программой через com порт. и в программе вывести значения амплитуды.
на АЦП подается тактовый сигнал 7 контакт порта и сигнал для начала преобразования сигнала в АЦП 4 контакт порта. Данные снимаются с 8 контакта порта то есть нужно подавать тактовый сигнал частотой 1-1000Гц на 7 контакт подать логическую единицу на 4 контакт и считать информацию с 8 контакта. ПОМОГИТЕ ПОЖАЛУЙСТА. |
|||
|
||||
svip |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 27.3.2007 Репутация: нет Всего: нет |
помогите конкретным примером на delphi если кто знает как это реализовать.
Буду очень благодарен ![]() |
|||
|
||||
cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: нет Всего: 99 |
Возможно Вам скорее надо в "Программирование контроллеров"...
-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
svip |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 27.3.2007 Репутация: нет Всего: нет |
дело не в контроллерах. Нужно в делфи работать к конкретным выводом в COM порте
|
|||
|
||||
svip |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 27.3.2007 Репутация: нет Всего: нет |
наверное никто не знает как это реализовать. Обидно ведь у меня есть exeшник в котором это реализовано :(
|
|||
|
||||
Злоумышленник |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 3.9.2006 Репутация: нет Всего: -3 |
Советую почитать "Последовательные интерфейсы ПК" П. Агуров
|
|||
|
||||
svip |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 27.3.2007 Репутация: нет Всего: нет |
перечитал уже все что возможно найти. но нигде не написано как работать с конкретной ножкой ком порта как например в паскале port[$2F8+6]:=2 например
|
|||
|
||||
svip |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 27.3.2007 Репутация: нет Всего: нет |
может все таки ктонибудь знает как это раелизовать
|
|||
|
||||
malor |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 632 Регистрация: 17.11.2006 Репутация: нет Всего: нет |
Агуров П."Последовательные интерфейсы ПК", стр.104-106. Запустил прогу ports.exe:
Последовательный порт(COM3) Последовательный порт(COM4) Порт принтера(LPT1) Profilic USB-to-Serial Comm Port(COM6) Почему тогда програма не написала, что "COM1 не обнаружен"(а также и COM2)? Почему программой не упомянут COM6 ? WinXP_sp2, Delphi 7 |
|||
|
||||
Злоумышленник |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 3.9.2006 Репутация: нет Всего: -3 |
По-поводу ножек (пинов). Есть возможность проверять "состояние модемных линий", с помощью WinAPI. В компоненте Агурова это реализовано, если память не изменяет. И это описывается в любой статье в инете по программированию СОМ-портов. Просто нужно потрудиться, почитать, поизучать коли уж этим занимаетесь. Тем более что обычно СОМ-порты - это коммерческая тема, денежная ;).
malor, не путайте адеса в области данных последовательных портов виртуальной машины DOS и конфигурацию оборудования, а также Delphi7 и Turbo Pascal. Неужели вы скомпили в Делфе тот PORTS.EXE ![]() Это сообщение отредактировал(а) Злоумышленник - 2.9.2007, 23:53 |
|||
|
||||
Felan |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 284 Регистрация: 2.8.2007 Где: Самара Репутация: 2 Всего: 7 |
svip, непосредственно ножкой дергать в прямом смысле не получится, т.к. последовательный на то и последовательный, что у него нет как таковой шины данных.
Но можно т.с. сэмулировать дерганье, если управлять служебными сигналами а частоту реализовать подачей определенных последовательностей в порт. Но это сильно зависит от железной реализации, какие сигналы для чего у тебя используются, и надо эксперементировать с конкретной железкой. Мой опыт говорит о том, что использовать в таких случаях какие либо компоненты себе дороже и лучше сделать а API то, что тебе нужно. Короче, тут думаю тебе самому придется ковыряться. Почитай книжку которую тебе тут рекомендовали и про работу с портами в MSDN, вобщем-то там все понятно... Если есть конкретные вопросы, то попробую ответить. Ну если мне телепатия не изменяет то: Потому что 3 и 4 это виртуальные порты (либо у тебя по какой-то причине изменилась нумерация), а реальных может и не быть вообще. Потому что твоя программа видимо ищет не все порты, а только до определенного номера. Не обнаружены они потому, что их нет в системе. -------------------- // Любая сложная система - это темный лес. Каждый в этом лесу протаптывает свои тропинки, по ним и бегает. Лишь изредка, сходя с них, мы находим много интересного, а порою и страшного. |
|||
|
||||
Злоумышленник |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 3.9.2006 Репутация: нет Всего: -3 |
Felan, ты видимо невнимательно прочитал мой предыдущий пост. Прога эта на Турбо Паскале сделана, и не порты она ищет, а адреса стандартных портов от 1 до 4 в служебной области БИОС из под ДОС (СОМ1-4 подставляется прогой "в лоб"). А что такое адреса портов в данном случае - почитай какой-нить учебник по Ассемблеру. Насчёт использовать компоненты или "API". Во-первых, компоненты делаются "на API". Во-вторых, из тех, что я видел, всё уже есть. В-третьих, используя компоненты, получаешь программу без ошибок, быстро сделанную и при грамотном компоненте компактную. Это сообщение отредактировал(а) Злоумышленник - 3.9.2007, 09:30 |
|||
|
||||
Felan |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 284 Регистрация: 2.8.2007 Где: Самара Репутация: 2 Всего: 7 |
Рас уж ты все это хочешь под Windows, то рекомендую тебе соответствующую книжку почитать, а не козырять решениями из DOS'а...
Ну да ладно. Дело твое. -------------------- // Любая сложная система - это темный лес. Каждый в этом лесу протаптывает свои тропинки, по ним и бегает. Лишь изредка, сходя с них, мы находим много интересного, а порою и страшного. |
|||
|
||||
malor |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 632 Регистрация: 17.11.2006 Репутация: нет Всего: нет |
Что понимается под фразой "Коммуникационные порты занимают в пространстве ввода/вывода по восемь смежных 8-битовых регистров и могут располагаться по стандартным базовым адресам" ?
Еще вот эта фраза убивает- "Базовый адрес - это 2-байтовый адрес порта, который является младшим из группы адресов портов, дающих доступ к UART". Что за "группа адресов портов"? (Агуров, стр. 104) Это сообщение отредактировал(а) malor - 4.9.2007, 13:17 |
|||
|
||||
Virtuals |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 476 Регистрация: 27.11.2006 Репутация: 4 Всего: 11 |
как говорится комментарии излишни
OUTSIGNAL(SETBREAK); это вам в пику Это сообщение отредактировал(а) Virtuals - 5.9.2007, 16:23 |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "Delphi: WinAPI и системное программирование" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |