Отговори на тема  [ 4 мнения ] 
За всички BCB програмери които обичат да пипат по портовете! 
Автор Съобщение
Ранг: Популярен
Ранг: Популярен
Аватар

Регистриран на: Пет Фев 04, 2005 3:18 pm
Мнения: 309
Местоположение: Sofia
Мнение За всички BCB програмери които обичат да пипат по портовете!
Разглеждайки старите постинги (Благодарение Никола Киров - тенкс)попаднах на нещо което отдавна се мъча сам да го няправя но неуспешно - програма за директен достъп до портовете под XP.

Програмата се казва WinIo моментално я дръпнах! :)
До тук добре ама колкото и да се борих не успях да направя WinIo.lib от Dll-а с IMPLIB
С други думи не тръгна с Borland-чо
Не знам в мен ли е проблема или компилера ми се е сбъгясал.

Затова написах едно класче в което ръчно зареждам DLL-а и описвам функциите
и мисля ,че го направих малко по лесно и елегантно за употреба.
Сега има само 6 прости функции и мисля ,че от повече няма нужда.

InportB (WORD port_address); // Read Byte
InportW (WORD port_address); // Read Word
InportD (WORD port_address); // Read Double Word

OutportB(WORD port_address, BYTE value);
OutportW(WORD port_address, WORD value);
OutportD(WORD port_address, DWORD value);

Който го кефи нека си дръпне сорса и ако намери кусури да свирка,
аз утрепах малко от работното време ;)


Прикачени файлове:
IO.rar [28.01 KiB]
282 пъти
Пет Авг 19, 2005 5:01 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Сеп 25, 2004 12:32 pm
Мнения: 8382
Местоположение: София
Мнение 
Само да ви предупредя, че е опасно да се ръчка по портовете под която и да е многозадачна ОС. Имайте предвид, че вашата програма не е единствената, която ползва тези ресурси, и е възможно да възникнат неприятни колизии. Единственият нормален начин една приложна програма да взаймодейства с хардуера е посредством съответните дивайс драйвери.


Пет Авг 19, 2005 10:21 pm
Профил
Ранг: Популярен
Ранг: Популярен
Аватар

Регистриран на: Пет Фев 04, 2005 3:18 pm
Мнения: 309
Местоположение: Sofia
Мнение 
Явно съм разбран криво,идеята ме не е "как да крашнем нечий компютър в 6 лесни стъпки",
на мен например ми се наложи веднъж (в работата) да използвам COM1 като I2C бус и го постигнах сравнително трудно
благодарение на TMS Async32,
директния достъп щеше много да ме улесни.
Занимавам се с развой предимно и поне за мен това е ценно а не деструктивно.
Сори ако има нещо.... :(


Съб Авг 20, 2005 3:59 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Юли 24, 2005 10:28 am
Мнения: 2658
Мнение 
ами както искаш го ползвай, през стандартните апита можеш да бараш всеки пин (EscapeCommFunction) без да пипаш портовете. можеш и да получиш нотификация по всяко събитие (WaitCommEvent), макар че що имам някакви спомени за проблеми с последното.


Нед Авг 21, 2005 5:52 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 4 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 1 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни