COM Port programmieren
-
Hi
Ich soll einer Kassenlade eine Tastaturkombination schicken, mir der man diese dann immer öffnen kann. Der Hersteller hat ein C-Programm beigelegt, welches wie ich denke nur für Windows ist und nicht für Linux. Ich habe es abgeschrieben durch den gcc und g++ gejagt, aber es komen immer Fehler, welche is aber nicht unbedingt interpretieren kann, da ich nicht der Experte auf diesem Gebiet bin. Ich stelle das Script mal hier rein, wenn jemand mir helfen könnte wäre das saustark.
#include
#include
void send_byte(char byte);
main()
{char ch;
outportb (0x02fb,0x30);
outportb (0x02f8,0x0c);
outportb (0x02fa,0x00);
outportb (0x02fb,0x03);
outportb (0x02f9,0x00);do
{system `clear`
printf("OPEN KEY:");
ch=getch();
send_byte(ch);
}
while (ch!=0x1b);
}void send_byte(char byte)
{while(1)
{while(inportb(0x02fd)&0x20)
outportb(0x02f8,byte);
return;
}
}Weiß nicht ob das "system `clear`" unter Linux heißen muß.
Die dos.h gibt es z.B in meinen Linux auch nicht kann ich die weglassen, obwohl ich denke das das Prog die .h braucht. Oder.Tschau
-
Kommunizieren über den COM-Port geht unter Linux mit read() und write() über das entsprechende Device /dev/ttyS0 bzw. /dev/ttyS1. Siehe dazu auch hier.
Martin