Autor | Nachricht |
---|---|
Beobachter Anmeldedatum: 30.11.2019 Beiträge: 0 | zitieren Hallo, aus einem Internet-Tutorial habe ich folgendes abgetippt
Ich habe es compiled unter Unix mit:
Terminal zeigt dann folgendes an: Das raw ist rot unterkringelt. Was ist falsch? Vielen Dank |
▲ | pn |
Trainee ![]() Name: Mirko Geschlecht: ![]() Anmeldedatum: 06.12.2019 Beiträge: 46 Wohnort: Weingarten | zitieren Hallo, was dieser Code genau tut oder tun soll kann ich zwar nicht sagen, jedoch fehlt bei der Funktion "void enableRawMode()" die abschließende, geschweifte Klammer. Bei mir jedenfalls scheint das Programm zu laufen (unter Linux). Lässt sich ohne Warnungen und Fehlermeldungen kompilieren. Auch wenn sich mir die Funktionalität nicht erschließt. ![]() |
▲ | pn |
Junior Name: Voller Name als Anagramm: Fitje Weshoms Geschlecht: ![]() Fahrzeug: Yamaha YZF R6 Thundercat Anmeldedatum: 15.07.2012 Beiträge: 92 Wohnort: Amberg, Oberpfalz | zitieren Hallo, scheint was mit der Programmierung eines Terminals zu tun haben: https://viewsourcecode.org/snaptoken/kilo/02.enteringRawMode.html https://linux.die.net/man/3/tcsetattr Grundsätzlich unterscheidet man beim Terminal-IO zwei Arten: kanonischer Modus: (cooked mode) Hier erfolgt das Lesen und Schreiben auf das Device zeilenorientiert. Eine Eingabe wird erst weitergereicht, wenn ein Zeilenabschluss (Linefeed, NL) oder Carriage Return (CR)) übertragen wurde. Für diesen Mode benötigt man die Steuerzeichen des c_cc-Arrays. Ein Programm wartet beim Lesen in diesem Modus so lange, bis tatsächlich eine komplette Zeile empfangen wurde. Wird kein Zeilenabschluss gelesen, so wird für immer und ewig gewartet. Die Aufgabe des Zwischenspeicherns übernimmt der Kernel. nichtkanonischer Modus: (raw mode) Hier wird nicht zeilenweise gelesen, sondern entweder auf eine bestimmte Anzahl von Bytes gewartet oder nach einer gewissen Zeit die bis dahin eingetroffenen Bytes abgeliefert. Hierfür müssen zwei Felder des Arrays c_cc gesetzt werden. In c_cc[VTIME] wird die Wartezeit in Zehntelsekunden und in c_cc[VMIN] das Minimum der zu lesenden Bytes angegeben. Die folgenden vier Konstellationen sind denkbar: 1. Fall: c_cc[VTIME] > 0 und c_cc[VMIN] > 0 read() liefert MIN Bytes, bevor die Zeit TIME abläuft oder read() liefert weniger als MIN Bytes, weil die Zeit TIME abgelaufen ist. Sind noch keine Daten empfangen worden, wartet read() auf min. ein Byte. Wenn das erste Byte gelesen wurde, läuft der Timer los, wobei jedes ankommende Byte den Timer wieder neu startet. Diese Methode ist günstig, wenn man große Datenmengen lesen, aber auch auf einzelne Zeichen reagieren muss. Aber es kann eine Blockierung stattfinden. 2. Fall: c_cc[VTIME] = 0 und c_cc[VMIN] > 0 read() liefert mindestens MIN Bytes, sobald diese eingetroffen sind. Dieser Modus ist günstig, wenn möglichst viele Bytes mit einem read() gelesen werden sollen. Andererseits kann man auch auf ein einziges Byte reagieren (MIN = 1). Ist MIN größer als die Anzahl der bei read() angegebenen Zeichen, wird gewartet, bis MIN Bytes gelesen, aber nur n Bytes an read() geliefert wurden; ein zweites read() liefert dann den Rest. Auch hier kommt es zur Blockierung, wenn nicht genügend Bytes eintreffen. 3. Fall: c_cc[VTIME] > 0 und c_cc[VMIN] = 0 Diese Einstellung erlaubt es, das Lesen mit Timeout zu programmieren. Sobald ein Byte eintrifft, liefert read() dieses ab. Wenn die Zeit TIME seit dem Aufruf von read() verstrichen ist, liefert read() 0 (gelesene Bytes) zurück. 4. Fall: c_cc[VTIME] = 0 und c_cc[VMIN] = 0 read liefert die Anzahl Bytes, die anliegen. Sind keine Daten vorhanden, wird sofort 0 (gelesene Bytes) zurückgegeben. Der Treiber wartet also niemals auf Daten, sondern kehrt immer sofort zurück. Anscheinend ist beim cooked mode eine Art Präprozessor vorgeschaltet, der die Eingaben verarbeitet. Das Programm schaltet auf den noncanonical mode, also raw mode. 1x bearbeitet |
▲ | pn |
Trainee ![]() Name: Mirko Geschlecht: ![]() Anmeldedatum: 06.12.2019 Beiträge: 46 Wohnort: Weingarten | zitieren Hallo Guiseppe, eine Erklärung wie Du sie geliefert hast, hätte ich eigentlich vom Fragesteller selbst erwartet. Aber danke Dir für diese Ausführlichkeit. Schöne Feiertage noch... |
▲ | pn |
Junior Name: Voller Name als Anagramm: Fitje Weshoms Geschlecht: ![]() Fahrzeug: Yamaha YZF R6 Thundercat Anmeldedatum: 15.07.2012 Beiträge: 92 Wohnort: Amberg, Oberpfalz | zitieren [quote="steinsgate"]Hallo! tcgetattr() wird eigentlich nach dazu verwendet die RS232-Schnittstelle einzurichten, welche man früher verwendete. Ausserdem kann man sich damit die Funktion getch(), getche und kbhit() für Linux selber basteln:
Eigentlich sollte man keine Funtktionsdeklaration in eine header-Datei packen. Hier nur der Einfachheit halber. Hier zum Beispiel ein Anwendungsbeispiel für kbhit:
Hier muss man die Leertaste drücken, um das Programm zu beenden. |
▲ | pn |
Gast | zitieren Mach mit!Wenn Dir die Beiträge zum Thread "error: redeclaration of ‚raw’ with no linkage" gefallen haben oder Du noch Fragen hast oder Ergänzungen machen möchtest, solltest Du Dich gleich bei uns anmelden:Registrierte Mitglieder genießen die folgenden Vorteile: ✔ kostenlose Mitgliedschaft ✔ keine Werbung ✔ direkter Austausch mit Gleichgesinnten ✔ neue Fragen stellen oder Diskussionen starten ✔ schnelle Hilfe bei Problemen ✔ Bilder und Videos hochladen ✔ und vieles mehr... |
▲ | |
Ähnliche Beiträge | Re: √ | Letzter Beitrag | |
---|---|---|---|
Übersetzung Fehler: PA51 B1235 "A Problem in the Driver's Air Mix Control Linkage, Door, or Motor" Hallo,
bin zwar des Englischen mächtig, aber was ist hier genau gemeint?
- ein Fehler im Bereich der Ansaugluft des Motors?
- Luftmassensensor?
- welche "Tür" ist da gemeint?
- warum explizit dieses "Drivers" bei ir mix... von Kneckes | 0 195 | 14.05.2020, 09:22 Kneckes | |
CD ERROR Ich fahre fast seit 1 Jahr auch FR-V.Mein Radio will aber keine CDs mehr abspielen.Die Anzeige:CD Error.Ist ein 6-fach Wechsler.Die Garantie
ist vor 10 Monaten abgelaufen.Habe bei Honda gefragt:2300 Neu.
Kann ich das Problem auf eine andere Weise... von chza69 | 7 540 | 25.01.2009, 00:26 DYSCHA | |
HTTP Error 500 ... von Eg9 racer | 23 434 | 21.10.2016, 05:22 Milos von D. | |
VirtualBox - Error in supR3HardenedWinReSpawn Ich starte gerade eine bestehende VM und bekomme den folgenden Fehler:
VirtualBox - Error in supR3HardenedWinReSpawn
Error relaunching VirtualBox VM process: 5
Command line: '81954AF5-4D2F-31EB-A142-
B7AF187A1C41-suplid-2ndchild --comment
ubuntu... von mgutt | 3 737 | 11.09.2014, 19:30 mgutt | |
GD1 CD Radio Fehler : ERROR Hallo Leute
Wer kann mir helfen?
Ich habe seit einer Woche ein Problem mit dem Standardradio im Jazz GD1 (Audioanlage Typ B). Das Radio spuckt keine CD mehr aus. Man muss schon 20 x auf Auswerfen drücken um die CD wieder raus zu bekommen. Es kommt... von nils_cl | 7 788 | 26.07.2012, 09:11 wund | |
Error 500 bei Mitglieder-Profilen ... von &weida? | 3 268 | 20.04.2017, 15:10 mgutt | |
Internal Error: Installationproblem bei Mediawiki Hallo,
ich benötige dringend Hilfe mit meinen MediaWiki.
Bei der Installation erscheint folgender Fehler:
[cf0f6cc3] [no req] Exception from line 61 of /data/multiserv/users/1289248/projects/2707382/www/mediawiki-1.24.1/includes/WebRequest.php: MediaWiki... von GloriaLu | 1 113 | 08.02.2015, 14:26 mgutt | |
Extension Error bei externem Zugriff Hallo zusammen,
ich habe ein Problem mit der Extension SyntaxHighlight_GeSHi
Ich habe im Intranet ein Wiki aufgesetzt das innerhalb des Netzwerkes auch ohne Probleme mit der Extension funktioniert.
Sobald ich aber versuche von außerhalb über Dynamische... von BarneyG77 | 0 38 | 19.09.2015, 19:19 BarneyG77 | |
Mediawiki-Update 1.17.0: Database error im Rahmen eines Joomla-Accounts (www.les-frankfurt.de) hat unsere Schule parallel eine Mediawiki-Installation (wiki.les-frankfurt.de), die ich gestern von Version 1.14.x auf 1.17.0 updaten wollte; was auch - soweit ich der installationsroutine glauben... von oszorro | 6 791 | 03.08.2011, 15:31 carchaias | |
Alpine CDE 111R DC Error Problem Hallo Zusammen!
In meinem bmw e30 war als ich Ihn gekauft habe ein Blaupunkt Trier CC31 eingebaut.
Da ich die letze Zeit viel gemacht habe wollte ich mich jetzt mal um das Radio kümmern.
Das Sound war für mich völlig okay, allerdings wollte ich... von Meerjungfraumann88 | 0 2.578 | 27.05.2011, 13:57 Meerjungfraumann88 |