Vous n’êtes pas connecté.
Bonjour, visiteur, bienvenue sur les forums Aqua Computer Forum. Si c’est votre première visite, nous vous invitons à consulter l’Aide. Elle vous expliquera le fonctionnement de cette page. Pour avoir accès à toutes les fonctionnalités, vous devez vous inscrire. Pour cela, veuillez utiliser le formulaire d’enregistrement, ou bien lisez plus d’informations sur la procédure d’enregistrement. Si vous êtes déjà enregistré, veuillez vous connecter.
|
|
Code source |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
int fd = 0;
unsigned int status = 0;
fd = open(serial_device, O_RDWR | O_NOCTTY);
if (fd > 0)
{
ioctl(fd, TIOCMGET , &status);
close(fd);
if(status==16390)remote_key=0; //keine taster
if(status==16646)remote_key=11; //taste 1 & 1
if(status==16710)remote_key=12; //taste 1 & 2
if(status==16678)remote_key=13; //taste 1 & 3
if(status==16774)remote_key=14; //taste 1 & 4
if(status==16710)remote_key=21; //taste 2 & 1
if(status==16454)remote_key=22; //taste 2 & 2
if(status==16486)remote_key=23; //taste 2 & 3
if(status==16582)remote_key=24; //taste 2 & 4
if(status==16678)remote_key=31; //taste 3 & 1
if(status==16486)remote_key=32; //taste 3 & 2
if(status==16422)remote_key=33; //taste 3 & 3
if(status==16550)remote_key=34; //taste 3 & 4
if(status==16774)remote_key=41; //taste 4 & 1
if(status==16582)remote_key=42; //taste 4 & 2
if(status==16550)remote_key=43; //taste 4 & 3
if(status==16518)remote_key=44; //taste 4 & 4
}
|

|
|
Code source |
1 2 |
ioctl(fd, TIOCMGET , &status); close(fd); |
|
|
Code source |
1 2 3 4 |
./com: line 7: int: command not found
./com: line 8: unsigned: command not found
./com: line 10: syntax error near unexpected token `('
./com: line 10: `fd = open(serial_device, 0_RDWR | 0_NOCTTY);'
|
|
|
Code source |
1 2 3 4 5 6 7 8 9 |
com.c:7: error: parameter `fd' is initialized com.c:8: error: parameter `status' is initialized com.c:10: error: parse error before "fd" com.c:8: error: declaration for parameter `status' but no such parameter com.c:7: error: declaration for parameter `fd' but no such parameter com.c:10: error: number of arguments doesn't match prototype cc1: error: prototype declaration com.c:10:26: invalid suffix "_RDWR" on integer constant com.c:10:35: invalid suffix "_NOCTTY" on integer constant |
|
|
Code source |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
#include <stdio.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <ctype.h>
#include <errno.h>
#include <termio.h>
static char serial_device[128] = "/dev/ttyS0";
static int get_remote_key()
{
int remote_key = 0;
int fd = 0;
unsigned int status = 0;
fd = open(serial_device, O_RDWR | O_NOCTTY);
if (fd > 0)
{
ioctl(fd, TIOCMGET , &status);
close(fd);
if (status & TIOCM_CD && !(status & TIOCM_DSR || status & TIOCM_CTS || status & TIOCM_RI)) remote_key = 1;
else if (status & TIOCM_DSR && !(status & TIOCM_CD || status & TIOCM_CTS || status & TIOCM_RI)) remote_key = 2;
else if (status & TIOCM_CTS && !(status & TIOCM_CD || status & TIOCM_DSR || status & TIOCM_RI)) remote_key = 3;
else if (status & TIOCM_RI && !(status & TIOCM_CD || status & TIOCM_DSR || status & TIOCM_CTS)) remote_key = 4;
}
else
remote_key = -1;
return remote_key;
}
int main()
{
printf("Hallo zu hurras kleinem Tasterchen-Prograemmchen\n");
for(;;)
{
usleep(3000);
printf("%d\n",get_remote_key());
}
printf("bye\n");
return 0;
}
|
-