Es ist mir zwar ein bisschen peinlich zu fragen, wie ich in Java das Byte 0xff an den TXD Ausgang des Com Ports sende, da ich hier bei [[Beitrag "Ausgangserweiterung für den COM-Port mit Java ansteuern"]] gesagt habe, dass ich es könne. Da habe ich mich wohl geirrt. Ich dachte, dass das nicht so schwer sei, doch nun verzweifele ich daran. Bitte helft mit!! MFG. Jan PS: Falls jemand wegen meiner vorherigen Aussage sauer sein sollte: Sag es mir.
Und woran verzweifelst du nun? Du brauchst halt eine Serial-Lib z.B. RXTX
OK Ich präzisiere mich. Über welchen Befehl wird das nun gemacht. SerialPort.sendByte(0xff) funktioniert meines Wissens nicht. Ich benutze übrigens die SUN API. SerialPort.setDTR(true) funktioniert super, wenn SerialPort in Java als Serielport definiert ist. Bei weiteren Fragen bitte kurz melden. MFG. Jan
Jan H. schrieb: > SerialPort.sendByte(0xff) > funktioniert meines Wissens nicht. Ahah und woher beziehst du dein Wissen? Man rät doch nicht was für Funktionen es möglicherweise gibt... SerialPort ( http://java.sun.com/products/javacomm/reference/api/index.html ) erweitert CommPort, und der hat eine Mehtode getOutputStream(). Und in diesen Outputstream schreibst du einfach 0xFF mittels der Write Methode.
Du meinst also ich soll das über getOutputStream(0xff) machen? Ich check das einfach nicht. Könntest du mir vielleicht ein Beispiel geben, oder eins verlinken? Das mit dem falschen Beispiel war ne doofe Sache, natürlich rate ich nicht die Funktionen. Ich bin erst dabei mir mein Wissen anzueignen, und du hilfst mir gerade dabei etwas wichtiges zu verstehen. MFG. Jan EDIT: Befehl oben sollte OutputStream.write(0xff) heißen.
1 | |
2 | |
3 | |
Super!! :) Tausend Dank! Ich probiere es gleich mal aus. MFG.Jan
Jan H. schrieb: > Ich probiere es gleich mal aus. Nicht nur Probieren, sondern obigen Link mal lesen und versuchen zu verstehehn warum diese merkwürdige anreihung von Buchstaben dein Problem lösen könnte ;)
Also jetzt da ich weiß, wie es geht, verstehe ich nun auch den Befehl. Ich konnte vorher nämlich nichts mit dem Returns anfangen, jetzt schon. Nochmals vielen dank dafür! Kurzer Themenwechsel: Könntest du mir vielleicht einen Tipp geben, wie ich eine Methode in einem Try erstelle, um darauf zuzugreifen? Ich bin nämlich anscheinend zu doof dazu, bzw. finde keine Lösung im I-Net. Bild von dem Beispielprogramm,welches nur zur Veranschaulichung des Problems dient, ist im Anhang. MFG.Jan EDIT: Kurz zu dem Programm: Es soll erst nach einer bestimmten wechselden Zeit von "AA" zu "UB" gewechselt werden UND "UB" soll auf JEDEN Fall beim Start ausgeführt werden, dashalb ist es auch in dem try. EDIT2: Falls das unter einem neuen Thread gepostet werden sollte, verschieben wir das eben dorthin.
Gast
#1752986
Hallo Du verwechselst da was. try-catch ist dafür gedacht, Befehle auszuführen, die möglicherweise einen Fehler produzieren. Mit catch kann dann gebührend darauf reagiert werden. Was du brauchst is eine if-Abfrage.
Nur leider ist die Verbindung zum Com Port nur durch try - catch
herstellbar.
Deshalb das try - catch.
Ich möchte nun von außerhalb ("AA") im try etwas ausführen.
Im Bsp. ist das "UB",
das schaffe ich jedoch nicht :(
Das man das Beispielprogramm anders aufbauen kann ist mir schon klar,
nur dann stellt es nicht mehr den Sachverhalt des echten Problems dar.
vielleicht muss ich auch nur vor das "UB" andere Modifier vorsetzen,
nur welche??
MFG. Jan
Erstmal Sourcecode bitte als Anhang oder wenigstens das Bild soweit beschneiden das nur das wesentliche zu sehen ist. musst einfach UB als Funktion deklarieren und dann das "sleep" in AB verlagern und dann UB aufrufen. Ansonsten würde ich dir dringend empfehlen erstmal ein bisschen was Mit Java zu machen anstatt Blind herumprobieren. Oder wenigstens das tatsächliche Problem zu beschreiben, das Beispiel ist irgendwie nicht sehr stimmig. > Nur leider ist die Verbindung zum Com Port nur durch try - catch > herstellbar. Nein, das stimmt so nicht, das Verbinden kann nur fehlschlagen, deshalb brauchst du das try/catch, du könntest aber auch mit trow die Exception "weiterwerfen" > Ich möchte nun von außerhalb ("AA") im try etwas ausführen. Wenn es von "außerhalb" ist ist es nicht "im" try... warum sollte es auch?
OK ich glaube wir reden aneinander vorbei, da ich mich irgendwie nicht richtig ausdrücke. Ich poste jetzt mal die ~200 Zeilen des Programmes, welches ich erst nach Vollendung veröffentlichen wollte:
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 | |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | |
47 | |
48 | |
49 | |
50 | |
51 | |
52 | |
53 | |
54 | |
55 | |
56 | |
57 | |
58 | |
59 | |
60 | |
61 | |
62 | |
63 | |
64 | |
65 | |
66 | |
67 | |
68 | |
69 | |
70 | |
71 | |
72 | |
73 | |
74 | |
75 | |
76 | |
77 | |
78 | |
79 | |
80 | |
81 | |
82 | |
83 | |
84 | |
85 | |
86 | |
87 | |
88 | |
89 | |
90 | |
91 | |
92 | |
93 | |
94 | |
95 | |
96 | |
97 | |
98 | |
99 | |
100 | |
101 | |
102 | |
103 | |
104 | |
105 | |
106 | |
107 | |
108 | |
109 | |
110 | |
111 | |
112 | |
113 | |
114 | |
115 | |
116 | |
117 | |
118 | |
119 | |
120 | |
121 | |
122 | |
123 | |
124 | |
125 | |
126 | |
127 | |
128 | |
129 | |
130 | |
131 | |
132 | |
133 | |
134 | |
135 | |
136 | |
137 | |
138 | |
139 | |
140 | |
141 | |
142 | |
143 | |
144 | |
145 | |
146 | |
147 | |
148 | |
149 | |
150 | |
151 | |
152 | |
153 | |
154 | |
155 | |
156 | |
157 | |
158 | |
159 | |
160 | |
161 | |
162 | |
163 | |
164 | |
165 | |
166 | |
167 | |
168 | |
169 | |
170 | |
171 | |
172 | |
173 | |
174 | |
175 | |
176 | |
177 | |
178 | |
179 | |
180 | |
181 | |
182 | |
183 | |
184 | |
185 | |
186 | |
187 | |
188 | |
189 | |
190 | |
191 | |
192 | |
193 | |
194 | |
195 | |
196 | |
197 | |
198 | |
199 | |
200 | |
201 | |
202 | |
203 | |
204 | |
205 | |
206 | |
207 | |
208 | |
209 | |
210 | |
211 | |
212 | |
213 | |
214 | |
215 | |
216 | |
217 | |
218 | |
219 | |
220 | |
221 | |
222 | |
223 | |
224 | |
225 | |
226 | |
227 | |
228 | |
229 | |
230 | |
231 | |
232 | |
233 | |
234 | |
235 | |
236 | |
237 | |
Wichtig sind hierbei nur, die Zeilen mit "Übertragung" und entsprechender "//" Erklärung Startzeit und Endzeit sind nur zur Zeitmessung und nicht wichtig! Probiere es mal in Eclipse o.Ä. aus, aber ohne die Fehlerzeilen, und mit einer Serial Lib (Sun o.Ä). Falls jetzt noch etwas am Code oder am Problem Unklar sein sollte, sagt mir wie immer Bescheid und falls das nun nicht mehr hier hineingehört sagt es mir auch. An alle die diesen Code lesen (oder versuchen ihn zu lesen, oder ihn nur zum Teil lesen): Danke für eure Aufmerksamkeit!! MFG. Jan
Gast
#1753245
Hi, und "Thread.sleep" löst bei dir eine Exception aus ? Ich vermute da ist etwas an deinem System / Framework faul.
Sch***e!! Ich habe den falschen Code geposted grrrrrrr!! Ich war im falschen Programm!! In diesem Programm kann das, was ich vor habe nicht funktionieren, da bei der kleinsten Änderung von einem Slider bei jedem "Tacken" das Programmteil "Übertragung" gestartet werden soll.->Mega Verzögerung!! @Matthias Nöö, ich dachte nur WENN mal was passiert. Ich würde mal sagen es ist Zeit "closed" zu sagen! CLOSED!
Matthias schrieb: > und "Thread.sleep" löst bei dir eine Exception aus ? > Ich vermute da ist etwas an deinem System / Framework faul. Da ist garnix faul... sleep löst die Interruped Exception aus wenn der Thread während er "schläft" abgebrchen wird. btw: Längeren Code als Anhang! public void Übertragung{//PROGRAMMTEIL ÜBERTRAGUNG;DIESE ZEILE IST LAUT ECLIPSE FALSCH fehlen () und außerdem sind Sonderzeichen nie eine gute Idee! Jan H. schrieb: > CLOSED! Auf Wunsch...
