Цитата:
Сообщение от 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: Пользуемся тегами!