Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2005.08.28;
Скачать: [xml.tar.bz2];

Вниз

соединение с внешним устройством   Найти похожие ветки 

 
Igivan   (2005-07-02 21:10) [0]

Дорогие мои, хоть я и радиоинженер (к сожалению, старый - с 1975г.), но с PC - lamer. Хочу использовать РС в радиолюбительстве (ввод с АЦП в СВОЮ прог. и вывод на ЦАП медленных (до 1кГц), но оптически развязанных с РС сигналов). Посоветуйте, пожалуйста, что учить: Delphy-8 or C++ для такой задачи? Собрал АЦП к LPT (ЛТП)порту и хочу САМ написать прог, демонстрирующую 0 и 1 на ножках разъёма. начитался уже много, но, понятно изложение больше у М. Флёнова.
Буду признателен за любые советы, так как из всех моих старых "электронщиков" уже НИКТО "этим" не занимается, а на радиобазаре в Одессе уже и канифоль купить нельзя - одни "мобилки" и дебилки(это о продавщицах).


 
isasa ©   (2005-07-02 23:00) [1]

Вопрос, конечно интересный.
Delphi учить проще. Но так, как задача заточена под железо (придется работать через API),
то мимо знания C - никак.


 
Руслана   (2005-07-02 23:25) [2]

Посмотрите на www.rusar.net
Там есть платки с микроконтроллерами, которые подключаются по USB и примеры программ. LPT - это прошлое...


 
АНТИСПАММЕР   (2005-07-03 00:30) [3]

Посмотри по IAR (www.IAR.com) может то, что нужно. В электронике не очень разбираюсь, но посмотри по IAR (www.iar.com) - это что-то вроде среды для разработки (С++) и прошивки программируемых устройств.


 
Германн ©   (2005-07-03 02:46) [4]

2 Igivan   (02.07.05 21:10)
Если ты "действительно радиоинженер "тех лет", то тебе путь "к тем, кто может написать драйвер для ОС".

Но если это "лично для тебя", то чем не устраивает MSDOS?


 
programania ©   (2005-07-03 03:06) [5]

А может проще через звуковую плату?
line In, а далее через BASS.dll,
подойдет для 10-20000гц,
а если медленнее или постоянное напряжение, то
можно им управлять частотой генератора
и уже ее принимать,
а для выхода детектор или частотный фильтр
для нескольких выходов
или еще к лампочкам numlock, scrollLock
нетрудно проводки подпоять и
VAR KS : TKeyboardState;
...
GetKeyboardState(KS);
IF Odd(KS[VK_NUMLOCK]) THEN {NumLock включен}
KS[VK_NUMLOCK] := KS[VK_NUMLOCK] XOR 1; {переключение NumLock}
KS[VK_NUMLOCK] := KS[VK_NUMLOCK] OR 1; {включение NumLock}
KS[VK_NUMLOCK] := KS[VK_NUMLOCK] AND (NOT 1); {выключение NumLock}
SetKeyboardState(KS);


 
Igivan   (2005-07-04 18:42) [6]

Дорогие друзья! Очень благодарен Вам за общение. Слава Богу, есть такие люди, как вы. И Интернет. isasa ©: т.е.-Win API (который, как я понял, мне нужен для стыковки с железом (кстати, где он описан?,  я случайно додумался, что он мне нужен)) сродни С и лучше сразу учить С, чем более простой Делфи и, затем, отличный от Делфи WinAPI. Правильно? Тем более что прог я делаю "под себя" и захочу адаптировать её под новый продукт MS. Если это так, то, что из Visual Studio мне следует установить и изучить, и что посоветуете читать? Какого автора? Надеюсь, Вы профи, уже решавший подобные задачи и в Делфи и в С, иначе я опять "попаду" на покупку ненужных и толстых книг (как D7 Бобровского С. - УЖАС.С.С!) .
РУСЛАНА: спасибо, что "послали" только на сайт, действительно интересный, но там мне предлагается оплатить работу профи, а мы, "радиолюбовники" и просто мужики готовы оплачивать только услуги профессионаЛОК и в совсем других услугах. Шутка. Мысль, действительно, правильная, спасибо. Буду думать в этом направлении. АНТИСПАММЕР: посмотрел сайт. Вы мне льстите! Германн ©: после того, как переустановил несколько раз систему после запуска DOS прог под WinXP, никакие проги DOS на компе даже не запускаю, а уж тем более свои собственные! DOS умер. Во всяком случае – для меня. programania ©: думал над этим; да и опт. развязку легко организовать. Накачал с Интернета проги частотомеров и генераторов. Прекрасно. Хочу научиться делать такое же. Собрал АЦП для LPT порта (просто, как для самого простого) и хочу увидеть его на экране. Что учить, где читать? В "лоб" компилировать листинги с книг:1.Пей Ан "Сопряжение ПК с внешними устройствами", 2.Ю.В. Новиков и др. "Разработка уст-в сопряжения", 3. Патрик Гёлль "Как превратить РС в изм. комплекс" не получилось. И чего их изучать, если они не работают? "Доходят" только книги М. Флёнова, но их читая засомневался, что верным путём иду, товарищи. Ходил на курсы, так они меня просто не берут после моих вопросов. А что делать? На Вас вся надежда.


 
alpet ©   (2005-07-04 19:01) [7]

Имхо если нет безусловной задачи писать драйвер устройства (например если соберете цифровой осциллограф на базе PCI карты), выбор языка особого значения не имеет. Критерии впрочем можно выделить такие:
1. Предполагается писать много кода не относящегося к интерфейсной части, как правило различные вычисления, и использовать готовые уже исходники заточенные под сходные задачи. В этом случае лучше выбрать С++ (MSVC.NET), хотя его изучение займет изрядное количество времени.
2. Код обработки оцифрованных сигналов предполагается небольшой, но хочется побыстрее написать удобный пользовательский интерфейс и учиться меньше. В этом случае можно изучить Delphi (или C++ Builder) - визуальное программирование осваивается довольно легко , и перейти потом на более сложные среды я думаю труда не составит.


 
Чапаев ©   (2005-07-04 19:05) [8]

> Win API (который, как я понял, мне нужен для стыковки с железом (кстати, где он описан?,  я случайно додумался, что он мне нужен)) сродни С
Ерунда. WinApi с тем же успехом можно и в Делфи применять (особенно если учесть, в КАКОМ форуме этот вопрос задан. ;-) ).

> как D7 Бобровского С. - УЖАС.С.С!
Бобровского не читал, но с моей точки зрения именно Михаил Фленов -- это УЖАС. Лучшие книги по Делфи -- Тейксейры и Пачеко. Т&П неплохо дополняют советы Озерова. Ах да, ещё "антисоветую" книги Дарахвелидзе.

> никакие проги DOS на компе даже не запускаю, а уж тем более свои собственные!
Есть такая штука, как VirtualPC...

Вообще насколько я знаю, под NT-based OS "считывать 0 или 1 с определённой ножки LPT-порта" не получится. По крайней мере, штатными средствами (WinApi).


 
alpet ©   (2005-07-04 19:05) [9]

Еще можно добавить - если придется сталкиваться с микроконтроллерами, лучше заодно освоить ассемблер и Си (как правило компиляторы для микроконтроллеров работают с одним из этих языков, хотя ассемблер у каждого микроконтроллера свой), это прививает знание работы процессора и системы гораздо лучше чем другие языки.


 
y-soft ©   (2005-07-04 20:40) [10]

>Igivan   (02.07.05 21:10)  

В общем-то все последние годы в основном тем и занимаюсь, что обеспечиваю взаимодействие программ на Delphi с разным железом (не радиолюбительским к сожалению)...

Только лобовой путь сейчас не в моде. Да и невозможно работать из обычных приложений в реальном времени, т.к. Windows для этого не приспособлена.

Как правило, для взаимодействия используется какой-нибудь понятный и железу, и программе протокол (тот же ModBus, например). А для связи - обычно Com-port по RS-232 или RS-485, а впоследнее время - USB и сетевые интерфейсы...

Весь WinAPI описан на http://msdn.microsoft.com

Чтобы его понять, надо знать хотя бы основы C, ну и, конечно, как работает сама Windows...

К сожалению, универсальной книги, где бы все это было просто и понятно описано, в природе не существует... :(


 
Vi   (2005-07-04 23:30) [11]

К тому, что сказал y-soft могу добавить, что програмирование через COM-порт и USB1 описано в книгах Агурова:

"Последовательные интерфейсы ПК:практика программирования"

"Интерфейс USB:практика программирования"


 
АНТИСПАММЕР ©   (2005-07-05 00:14) [12]

на sourceforge.org валялись исходники какогото драйвера для какогото устройства

Посмотрите на linuxdoc.org - может что-то есть
и исходников море- есть что поизучать
если нужна система реального времени - копайте в сторону QNX либо спец. дистрибутивов linux (ядро 2,6,* !)


 
Германн ©   (2005-07-05 01:38) [13]

2 Igivan   (04.07.05 18:42) [6]
Тогда с учетом "Хочу использовать РС в радиолюбительстве (ввод с АЦП в СВОЮ прог. и вывод на ЦАП" может тебе пойти на http://www.lcard.ru ?


 
Игорь Шевченко ©   (2005-07-05 10:57) [14]


> Собрал АЦП к LPT (ЛТП)порту и хочу САМ написать прог, демонстрирующую
> 0 и 1 на ножках разъёма.


Под досом я писал некую софтину для проверки мелкосхем, через LPT-порт. Писал на С, но никто не мешает написать ее же на паскале. Delphi 8 в любом случае не поможет, насколько мне известно, в .Net нету средств работы с портами.


 
Германн ©   (2005-07-06 02:40) [15]

2 y-soft ©   (04.07.05 20:40) [10]
>Igivan   (02.07.05 21:10)  

>В общем-то все последние годы в основном тем и занимаюсь, что >обеспечиваю взаимодействие программ на Delphi с разным железом >(не радиолюбительским к сожалению)...

>Только лобовой путь сейчас не в моде. Да и невозможно работать >из обычных приложений в реальном времени, т.к. Windows для >этого не приспособлена.

>Как правило, для взаимодействия используется какой-нибудь >понятный и железу, и программе протокол (тот же ModBus, >например). А для связи - обычно Com-port по RS-232 или RS-485, >а впоследнее время - USB и сетевые интерфейсы...

Все последние (и не очень последние) годы стремлюсь сделать "интерфейсный модуль на базе микропроцессора", который с одной стороны удовлетворяет нужды железа, а с другой стороны удовлетворяет "нуждам Windows". Как правило, получаю нужный результат!
Но у меня "под рукой" есть "электронщик", который готов реализовать, согласовать и т.д. и т.п.


 
y-soft ©   (2005-07-06 08:40) [16]

>Германн ©   (06.07.05 02:40) [15]

Все последние (и не очень последние) годы стремлюсь сделать "интерфейсный модуль на базе микропроцессора", который с одной стороны удовлетворяет нужды железа, а с другой стороны удовлетворяет "нуждам Windows". Как правило, получаю нужный результат!
Но у меня "под рукой" есть "электронщик", который готов реализовать, согласовать и т.д. и т.п.


У меня под рукой их вообще целый отдел :)
Да вот незадача - еще больше "не под рукой" - у заказчиков море разнокалиберного оборудования, выпущенного в разных местах и в разное время, да еще и территориально раскиданного на больших площадях. И все это надо связывать в работающую распеределенную систему... Поэтому электронщики мои занимаются исключительно модулями сопряжения и средствами передачи информации...


 
atruhin ©   (2005-07-06 13:41) [17]

Я одного не понимаю, почему все зациклились на "писать драйвер" если человек говорит о примитивной задаче? В нете есть куча готовых дрйверов для работы с портами. Например WinIO

"The WinIo library allows 32-bit Windows applications to directly access I/O ports and physical memory. It bypasses Windows protection mechanisms by using a combination of a kernel-mode device driver and several low-level programming techniques"
Взять можно на http://www.internals.com
Использовал, работает.


 
Германн ©   (2005-07-07 01:43) [18]

2 atruhin ©   (06.07.05 13:41) [17]

>Я одного не понимаю, почему все зациклились на "писать драйвер" >если человек говорит о примитивной задаче? В нете есть куча >готовых дрйверов для работы с портами. Например WinIO

Ну не все "закциклились на драйверах". Но, кстати, WinIO не есть "готовый драйвер для работы с портами"! Это - "combination of a kernel-mode device driver and several low-level programming techniques"

Вот только вопрос - ТЫ РУЧАЕШСЯ ЗА ТО, ЧТО ОН РАБОТАЕТ ПРАВИЛЬНО?


 
Германн ©   (2005-07-07 01:52) [19]

2 y-soft ©   (06.07.05 08:40) [16]
>>Германн ©   (06.07.05 02:40) [15]

>У меня под рукой их вообще целый отдел :)
>Да вот незадача - еще больше "не под рукой" - у заказчиков море >разнокалиберного оборудования, выпущенного в разных местах и в >разное время, да еще и территориально раскиданного на больших >площадях. И все это надо связывать в работающую распеределенную >систему... Поэтому электронщики мои занимаются исключительно >модулями сопряжения и средствами передачи информации...

Сочувствую. :( Мой ассортимент "внешнего оборудования" не превысил за эти годы двух десятков. (Не ну правда были разные версии). Но в любом случае "морей" у меня не было! В худшем случае - набор их десятка прудов. :)


 
atruhin ©   (2005-07-07 19:41) [20]

>>Вот только вопрос - ТЫ РУЧАЕШСЯ ЗА ТО, ЧТО ОН РАБОТАЕТ ПРАВИЛЬНО?
Что значит правильно? Я тоже довольно много занимался сопряжением геофизической аппаратуры с ПК. Мы использовали данный драйвер для работы с LPT портом (в основном тестовые версии, конечные COM, USB), тестировали в стандартном, ECP, EPP режимах, в ECP качали до 1.5 мб в сек. работало нормально. Системы W2K, WinXP (без сервис паков, с ними не пробовал), но в нете встречал еще ссылки на подобные разработки, люди говорят работает.


 
Германн ©   (2005-07-08 00:47) [21]

2 atruhin ©   (07.07.05 19:41) [20]
>>>Вот только вопрос - ТЫ РУЧАЕШСЯ ЗА ТО, ЧТО ОН РАБОТАЕТ ПРАВИЛЬНО?
>Что значит правильно?

Извини. Не уточнил вопрос. По моим понятиям "ручаться" за "готовый продукт" может лишь его автор. В крайнем случае, может ручаться человек, который его использует, но только в тех случаях, когда у последнего есть исходники продукта!
У тебя они есть? Ты можешь дебаггером найти суть проблемы, если она возникнет?


 
atruhin ©   (2005-07-09 08:49) [22]

>>Германн ©   (08.07.05 00:47) [21]
>>В крайнем случае, может ручаться человек, который его >>использует, но только в тех случаях, когда у последнего есть >>исходники продукта!
А как же вы тогда Windows используете? И все остальное ПО? Если бы я делал систему управления самолетом, тогда согласился бы.
А вообще WinIO - открытый драйвер, с исходниками.



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

Форум: "WinAPI";
Текущий архив: 2005.08.28;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.53 MB
Время: 0.04 c
14-1122976090
Kerk
2005-08-02 13:48
2005.08.28
В оутлук можно задать правила...


14-1122964964
kull
2005-08-02 10:42
2005.08.28
В спорах рождается истина?


8-1113670104
Comrade
2005-04-16 20:48
2005.08.28
TraсkBar для Mediaplayer


14-1123002353
alexteam
2005-08-02 21:05
2005.08.28
нестандартная ситуация.


4-1117686064
Sir
2005-06-02 08:21
2005.08.28
Серийный номер видеокарты & материнской платы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский