 31.10.2025, 18:00
31.10.2025, 18:00 Sprache ändern
 Sprache ändern
							
							
							
						 Registrieren
 Registrieren Anmelden
 Anmelden
					
											Sie sind nicht angemeldet.
|   | Quellcode | 
| 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
      } | 
 
								
|   | Quellcode | 
| 1 2 | ioctl(fd, TIOCMGET , &status); close(fd); | 
 
								|   | Quellcode | 
| 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);' | 
|   | Quellcode | 
| 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 | 
|   | Quellcode | 
| 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;
} | 
 
								-
 
  
  
  
  
  
  
 