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

Ваш аккаунт

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

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

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

чтение порта устройства

11K
25 декабря 2006 года
Yarik_2000
6 / / 23.08.2005
Здравствуйте.
есть проблема,
есть комп, в нем вставили плату, которая через оптический датчик будет ловить сколько коробок прошло по контейнеру, нужно считать из порта(по адресу, к примеру 300) все регистры(их 8), ну типа так:
readPort(0x300),readPort(0x301),readPort(0x302),...
кто знает как обрачаться к определенному порту устройства, и читать данные...

когда делаю вот так

unsigned char ReadReg(unsigned short reg) {

unsigned char data;

_asm {
mov dx,reg
in al,dx
mov data,al
}
return(data);
}


int _tmain(int argc, _TCHAR* argv[])
{
unsigned char value;
unsigned short port = 300;
ReadReg(300);
return 0;
}

то вылетает вот что :
Unhandled exception at 0x004113b2 in ReadPort.exe: 0xC0000096: Privileged instruction.
Кто знает, помогите пожалуйста, запарился уже.
Среда разработки C++ Builder 6
Заранее спасибо.
547
26 декабря 2006 года
Hydra
488 / / 20.06.2006
Ну попробй sti/cli внутри ReadReg делать.
8.8K
26 декабря 2006 года
The_Ice
109 / / 04.04.2006
Это тебе говорит, что ты под лохом сидишь, Пробуй тоже самое только под админом (но в Винде гарантии нет, что позволит). В юнихе должно катить (под рутом)
8.8K
26 декабря 2006 года
The_Ice
109 / / 04.04.2006
либо (под виндой) суй прогу свою в службы с правами драйвера (SERVICE_KERNEL_DRIVER или что-нить такое) и описывай интерфейсы для общения с другими прогами... Или просто используй юних или свою ось :) Тупо Grub и ядро, которое будет тебе подсчитывать твои товары - суешь дискетку и не вынимаешь :)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог