Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Создание драйвера

1.9K
29 октября 2004 года
Volly
57 / / 18.10.2003
Знаю, что для прямого доступа к портам компьютера из Windows надо писать специальный драйвер. Как это сделать? Имеется в наличии Visual Studio .NET.
9.2K
29 октября 2004 года
Ray Adams
2 / / 29.10.2004
Цитата:
Originally posted by Volly
Знаю, что для прямого доступа к портам компьютера из Windows надо писать специальный драйвер. Как это сделать? Имеется в наличии Visual Studio .NET.


Тут одной студией не обойдешся, качай или найдти диск с Windows DDK

9.3K
17 ноября 2004 года
Tony
3 / / 17.11.2004
А неужели действительно нельзя присвоить своей программе (в WinXP например) привелегию достаточную что бы выполнить такой код:
void outportb(unsigned int portadr,char data)
{
_AL=data;
_DX=portadr;
asm out dx,al;
}
Ежели такая возможность существует, подскажите пожалуйста как это делается.
Спасибо.
319
21 ноября 2004 года
xelos
577 / / 27.02.2003
Цитата:
Originally posted by Tony
А неужели действительно нельзя присвоить своей программе (в WinXP например) привелегию достаточную что бы выполнить такой код:
void outportb(unsigned int portadr,char data)
{
_AL=data;
_DX=portadr;
asm out dx,al;
}
Ежели такая возможность существует, подскажите пожалуйста как это делается.
Спасибо.


посмотри сюда:
http://www.beyondlogic.org/porttalk/porttalk.htm

если сам не хочешь мучаться, скачиваешь готовый драйвер и работаешь с портами как в 98 винде

319
22 ноября 2004 года
xelos
577 / / 27.02.2003
Цитата:
Originally posted by xelos

посмотри сюда:
http://www.beyondlogic.org/porttalk/porttalk.htm

если сам не хочешь мучаться, скачиваешь готовый драйвер и работаешь с портами как в 98 винде


после запуска утилитки с сайта, в программе я пользую io.dll - в инете ее без труда найдешь:

Код:
#define IO_DLL "io.dll"
      HINSTANCE hDLLIO;     // Handle to DLLs
    //les types pour IO
    typedef void(CALLBACK *tPortOut)(int, char);
    typedef char(CALLBACK *tPortIn)(int);
    tPortOut m_PortOut;
    tPortIn m_PortIn;

    hDLLIO = ::LoadLibrary(IO_DLL);
    if (hDLLIO != NULL) {
        // Get pointers to the functions in the DLL
        m_PortOut = (tPortOut)::GetProcAddress(hDLLIO, "PortOut");
        m_PortIn = (tPortIn)::GetProcAddress(hDLLIO, "PortIn");
        if (!m_PortOut || !m_PortIn) {
            // Couldn't find the functions, so exit
            le=4;
            FreeLibrary(hDLLIO);
            MessageBox(NULL, "Fonctions pour son ne sont pas trouvées","Erreur",MB_OK);
        };
    }else{...}
//активировать контроллер спикера (через 66 порт)
    m_PortOut(66, (char)(divisor%256));
    m_PortOut (66, (char)(divisor/256));
    //чтение порта
    portVal = m_PortIn(0x61);
9.3K
23 ноября 2004 года
Tony
3 / / 17.11.2004
Спасибо.
Запустил io.dll, отлично работает.
319
23 ноября 2004 года
xelos
577 / / 27.02.2003
Цитата:
Originally posted by Tony
Спасибо.
Запустил io.dll, отлично работает.


действительно, один io.dll достаточно - утилитку, про которую я выше говорил я пользовал когда под хр запускали досовскую программу, с доступом к портам!!! т.е. там низзя было ни код переписать, ничего другого сделать.

8.9K
19 декабря 2004 года
Raiser
9 / / 13.12.2004
Цитата:
Originally posted by xelos

действительно, один io.dll достаточно...


А можно поподробнее: как io.dll "запускать" ?? У меня прога приёма информации с COM-портов на асме написана. Под Win32 я её переделаю - не вопрос, но как быть с обращениями к портам? Опишите, plz, подробнее...

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог