|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
22.07.2015, 07:32 | #1 |
Регистрация: 08.05.2015
Сообщений: 7
|
LPT и АЦП
Здравствуйте дорогие форумчане!
С недавних пор я изучаю Ассемблер. Мне надо написать программу на ассемблере, которая бы связала LPT порт компьютера и АЦП. Мне не нужна готовая программа, я бы хотел посмотреть на подобные задачи или хотя бы алгоритмы в которых это реализуется. Т.е. я сейчас даже не понимаю с чего начать писать программу. Пожалуйста помогите мне в этом не легком пути. Заранее всем большое СПАСИБО! Последний раз редактировалось rus7am; 22.07.2015 в 07:46. |
22.07.2015, 08:19 | #2 |
Участник клуба
Регистрация: 16.06.2011
Сообщений: 1,428
|
..начни со-знакомства с прерыванием INT-17h.
доки по АЦП можно найти тут: http://www.dikoy.info/projects/Beginners.htm
Нашедшего выход - затаптывают первым..
Последний раз редактировалось R71MT; 22.07.2015 в 08:21. |
22.07.2015, 13:25 | #3 | |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Ну, по LPT много уже написано. Подобная тема, живёт уже лет 20. Жёвано-пережёвано. Лень порыться? Ну, да. пусть пограммёры этим занимаются, а я пойду - пивка попью.
Цитата:
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder Последний раз редактировалось Smitt&Wesson; 22.07.2015 в 13:34. |
|
22.07.2015, 14:08 | #4 | |
Регистрация: 08.05.2015
Сообщений: 7
|
Цитата:
Постановка задачи следующая: Имеется ацп AD7890-2, которое подключено к LPT порту компьютера. Необходимо изменяя сигналы на входе АЦП менять состояния регистров данных LPT порта. Если у вас есть какой-нибудь похожий код программы на ассемблере, то поделитесь информацией пожалуйста! |
|
22.07.2015, 14:31 | #5 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,758
|
Давайте начнем со схеме подключения всего этого. Кто программирует АДшку? Кто забирает с нее данные? Кто изменяет состояние линий лпт? ..
|
22.07.2015, 15:16 | #6 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
rus7amASM, это, конечно Ваше личное дело.Как говорится - "На вкус и цвет..." Я-бы использовал не асм, а Апи Винодовс. По крайней мере, гемору меньше. Но, дело хозяйское...
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder Последний раз редактировалось Smitt&Wesson; 22.07.2015 в 15:23. |
29.05.2017, 15:38 | #7 | |
Форумчанин
Регистрация: 17.07.2012
Сообщений: 140
|
Цитата:
|
|
29.05.2017, 16:12 | #8 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,619
|
Если это - для дела, то оптимальный вариант - поставить между AD и ПК микроконтроллер и забирать из него уже готовые измеренные данные, т.к. "высокоскоростной последовательный интерфейс" и уходящий на пенсию LPT - не стыкуются друг с другом. Можно, конечно, сэмулировать SPi на 3..4 выводах LPT, но это что турбину Боинга к Запоржцу пришпандоривать, IMHO. Все быстродействие, достигнутое за счет применения ассемблера, будет съедено этой эмуляцией. Более того, часть времени ЦП ПК уйдет на обслуживание ОС, так что о реалтаймовости говорить не приходится. И еще надо прямой доступ к LPT получит в обход ОС, если это не Win-98.
А если это - учебное задание - я уже не удивляюсь, много видел еще более идиотских задач, впихиваемых бедным студням. А насчет API - так оно же оперирует не какими-то скрытыми командами с неограниченными возможностями, а использует те же машинные команды, что и асм. Перечитал первый пост - ну конечно, мудрецы с кафедры АСУ в очередной раз предлагают почесать левое ухо правой ногой. Последний раз редактировалось digitalis; 29.05.2017 в 16:25. |
30.05.2017, 11:10 | #9 |
Форумчанин
Регистрация: 23.01.2016
Сообщений: 608
|
...если бы еще и дату поста посмотрели, вообще кошерно было )
|
30.05.2017, 15:03 | #10 |
Форумчанин
Регистрация: 17.07.2012
Сообщений: 140
|
А если на дату не смотреть и допустить, мысленно , что надо для работы и рейтаймово, тогда как? Может скинем код? Мне кажется по аппаратному прерыванию LPT должен работать быстрее API винды, поэтому предлагаю от слов перейти к делу. Щас выложу простой код, поправьте если ошибусь, просто тупо на 10ю ножку прерывания LPT подключу генератор и буду чередовать на экране 0 1 0 1, посмотрим с какой частотой LPT справится под досом, а потом проверим сможет ли тоже самое повторить винда. Вот пока посмотрите будет ли такой код работать, переделал его из аппаратного сом прерывания, правда он почему то не шел в последнее время, но раньше работал.
Код:
Код:
Последний раз редактировалось седьмой; 30.05.2017 в 15:55. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Необходимо написать программу на C#, управляющая LPT и 3 COM портами. На COM висят АЦП и ЦАП | CopperRU | Фриланс | 2 | 15.04.2012 10:19 |
Параллельный АЦП на С | Анастасий | Общие вопросы C/C++ | 4 | 05.01.2012 15:54 |
avr usb ацп | wanes101 | Микроконтроллеры, робототехника, схемотехника, 3D принтеры | 5 | 20.09.2010 10:04 |
Программа для АЦП TLC549 | WandererX | Помощь студентам | 0 | 08.04.2010 10:25 |
АЦП на ATmega48 | hobin | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 2 | 04.02.2009 04:21 |