JoshuaStrutt

Sende

Nov 3rd, 2016
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.69 KB | None | 0 0
  1. import serialio.Serial;
  2. import support.Console;
  3.  
  4. public class SendeBuchstabeJoshuaX {
  5.  
  6.   // Sendererseite (muss zuerst gestartet werden)
  7.   public static void main(String[] args) {
  8.     //Der String der gesendet werden soll, er wird jedes mal vom User neu eingetippt und hier zwischen
  9.     //gespeichert
  10.     String zuSenden;
  11.     //Das Objekt welches den geöffneten Port der seriellen Schnittstelle darstellt
  12.     Serial comm;
  13.     try {
  14.       //Ein neue Serielleschnittstelle wird initialisiert
  15.       //auf Port "COM1", einer Baudrate von 9600, es werden 8 Bits für die Datenübertragung verwendet,
  16.       //1 Bit um das Ende einer Nachricht darzustellen und es wird keine Parität verwendet
  17.       comm = new Serial("COM1", 9600,
  18.       Serial.DATABITS_8,                                                      
  19.       Serial.STOPBITS_1,
  20.       Serial.PARITY_NONE);
  21.      
  22.       //Wenn die Schnittstelle erfolgreich geöffnet wurde
  23.       if (comm.open()) {
  24.         System.out.println("Sender gestartet!");
  25.        
  26.         //Endloßschleife
  27.         while (true){      
  28.          
  29.           //Auf XON warten
  30.           while (true) {
  31.             if (comm.read() == 0x11) {
  32.               System.out.println("XON wurde erkannt");
  33.               break;
  34.             }
  35.           }
  36.          
  37.           //Nachrichten senden bis XOFF empfangen wurde
  38.           while (true) {
  39.             //Die zu sendene Nachricht
  40.             zuSenden  = "Nachricht";  
  41.            
  42.             //Die Nachricht wird auf dem Port versendet
  43.             //Zusätzlich muss ein EOL/EOF (End of Line/End of file) angehongen werden
  44.             comm.write(zuSenden+ "\n");    
  45.            
  46.             //Gucken ob XOFF erkannt wurde und wenn entsprechend wieder an den Anfang der Endlossschleife springen
  47.             //Falls nicht wird weiter "zuSenden" gesendet
  48.             if (comm.dataAvailable() > 0) {
  49.               if (comm.read() == 0x13) {
  50.                 System.out.println("XOFF wurde erkannt");
  51.                 break;
  52.               }
  53.               if (comm.read() == -1) {
  54.                 //Der Port wird geschlossen, wenn die Übertragung beendet werden soll
  55.                 System.out.println("Uebertragung beendet.");
  56.                 comm.close();
  57.               }
  58.             }
  59.           }
  60.          
  61.         }
  62.        
  63.       }
  64.       else {
  65.         //Der Port konnte nicht geöffnet werden
  66.         System.out.println("Fehler beim Oeffnen von COM1");
  67.       }
  68.       System.out.println("Enter-Taste druecken.");
  69.       Console.readln();
  70.     } catch (Exception e) {
  71.       //Der Port konnte nicht geöffnet werden, der Fehler wird ausgegeben
  72.       System.err.println("Fehler: " + e.getMessage());
  73.     }
  74.   }
  75.  
  76. }
Add Comment
Please, Sign In to add comment