Показать сообщение отдельно
  #9  
Старый 22.02.2009, 11:16
ControlFreak ControlFreak вне форума
Прохожий
 
Регистрация: 22.02.2009
Сообщения: 6
Репутация: 10
По умолчанию

Цитата:
Сообщение от ControlFreak
Помогите перевеси код из С++ в делфи. Так же не могу найти примеров кода для снятия показаний датчиков температуры, тут хоть для с++ есть осталось тока первести но я с++ не знаю вообще : ) ХЕЛП!
Сначала зададим две переменные, которые будут содержать адреса порта индекса и порта данных.
Код:
int indexPort = 0x295;

int dataPort = 0x296;

Теперь напишем функцию, возвращающую содержимое регистра SuperIO чипа по его индексу.

int ListenPort(int index)

{

PortOut(indexPort, index);

return PortIn(dataPort);

}

Также нам понадобится функция, записывающая некоторое значение в регистр SuperIO чипа по его индексу.

void SendPort(int index, int data)

{

PortOut(indexPort, index);

PortOut(dataPort, data);

}

Полагаем, что приведенный код абсолютно понятен и в комментариях не нуждается.

Теперь мы можем разработать функцию, возвращающую показание термодатчика. В качестве параметра функции передается его номер (смотри Листинг 1).

int getTemp(int TempNum)

{

int TempPort;

if (TempNum == 1)

{

TempPort = 0x29;

}

else {

if (TempNum == 2)

{

TempPort = 0x2A;

}

else {

if (TempNum == 3)

{

TempPort = 0x2B;

}

}

}

return ListenPort(TempPort);

}
Admin: Пользуемся тегами!
Ответить с цитированием