Российский производитель и разработчик сертифицированного измерительного оборудования с 1987 года


L-1450: считывание ttl линий под Linux

Вы не вошли.

 Поиск | Регистрация | Вход 

ДЕ
23.12.2004 15:25:53
#1

Гость

L-1450: считывание ttl линий под Linux

Столкнулся с проблемой при считывании ttl-входов под линуксом. Программа ldig из examples выдает ерунду.
Под досом на той же машине программа example для
этой платы все правильно считывает.

Текст программы:
--------------------------------
#include <stdio.h>
#include <stdlib.h>

#include <ldsp/ldsp.h>

int main(int argc, char **argv)
{
char *dname = "/dev/xdsp0";
LDSP_HANDLE d;
int x;
unsigned dig;
char *p;

dig = 0;
if(argc > 1) dname = argv[1];
if(argc > 2) dig = strtoul(argv[2], &p, 16);

x = ldspOpen(&d, dname, LDSP_ALL);
if(x < 0)
{
  printf("Can't open device: %s/n", dname);
  return d;
}

if(ldspDigitalOut(d, &x))
{
  puts("TTL output error");
}
printf("TTL output: %08X/n", x);

if(ldspDigitalIn(d, &x))
{
  puts("TTL input error");
}
printf("TTL input: %08X/n", x);
ldspClose(d);

return 0;
}
-----------------------------------

Griff
27.04.2005 03:28:32
#2

Гость

Re: L-1450: считывание ttl линий под Linux

В строке if(argc > 2) dig = strtoul(argv[2], &p, 16); всторой параметр берется в dig, а в строке  if(ldspDigitalOut(d, &x) пишется х, то етьс нужно везде вместо x поставить dig, кроме  x = ldspOpen(&d, dname, LDSP_ALL);
if(x < 0) 
сохранить, потом make и все поедет.