Как прочитать значение жестко закодированного адреса в C ++?

Я ищу, чтобы прочитать значение, расположенное по адресу 302H. Цель состоит в том, чтобы прочитать ввод от оборудования (часть стека 104pc). Когда я запускаю следующий код, я получаю эту ошибку: Необработанное исключение в 0x004134b9 в setOutput. exe: 0xC0000005: место чтения нарушения прав доступа 0x00000302.

#include <stdlib.h> 

#define PORTBASE 0x302
int _tmain(int argc, char *argv[])
{
    int value;
    int volatile * port = (int *) PORTBASE;
    printf("port = %d\n", port);
    value = *port;
    printf("port value = %d\n", value);
}

РЕДАКТИРОВАТЬ:

Я запускаю это под widows xp. Только документация, которую я могу найти на плате, находится ниже enter image description here

РЕДАКТИРОВАТЬ:

Из ваших ответов ниже я вижу, что мне нужно написать драйвер для платы. Может ли кто-нибудь указать мне на ресурс о том, как это сделать?

7
задан Richard 1 March 2011 в 17:51
поделиться