| 
					VISA auf Startbyte reagieren | 
		
	
Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung", 
indem du auf den "Lösung" Button rechts unter dem entsprechenden  Beitrag klickst. Vielen Dank!
	
| 
	
		
			| 
					21.11.2010, 00:09  
				  Beitrag #1 |  
			| 
					
                                                 |   jak888
   LVF-Gelegenheitsschreiber
 
   
 
 Beiträge: 133
 Registriert seit: Apr 2010
 
 2010
 2010
 en
 
 97447
 Deutschland
 
 | VISA auf Startbyte reagieren 
					Moin,
 ich versuche gerade einen Sensor auszulesen, der mir Datenframes über Bluetooth zuschickt. Ein Datenframe beginnt immer mit 3 Startbytes: 0x000000
 Gibt es eine Möglichkeit darauf zu warten, dass der Sensor mir die 3 Startbytes schickt und anschließend 17 weitere Bytes zu lesen?
 Wie kann ich auf das Startbyte reagieren?
 
 Bin wie immer für jede Hilfe dankbar.
 
 
"Good judgement comes from experience, experience comes from bad judgement." 
				
				 |  |  
			|  |  
	
		
			| 
					21.11.2010, 00:21  
				  Beitrag #2 |  
			| 
					
                                                 |   eg
   LVF-SeniorMod
 
 
 Beiträge: 3.868
 Registriert seit: Nov 2005
 
 2016
 2003
 kA
 
 66111
 Deutschland
 
 | VISA auf Startbyte reagieren 
					3 verschachtelte Case-Strukturen.1 Byte lesen mit 00 vergleichen, wenn ok
 1 Byte lesen mit 00 vergleichen, wenn ok
 1 Byte lesen mit 00 vergleichen, wenn ok
 17 Byte lesen.
 
 
				
				 |  |  
			|  |  
	
		
			| 
					21.11.2010, 00:29  
				  Beitrag #3 |  
			| 
					
                                                 |   jak888
   LVF-Gelegenheitsschreiber
 
   
 
 Beiträge: 133
 Registriert seit: Apr 2010
 
 2010
 2010
 en
 
 97447
 Deutschland
 
 | VISA auf Startbyte reagieren 
					Lol...Den gleichen Workaround hatte ich auch schon gefunden. Das hat auch einmal ganz gut funktioniert, leider hat mein Bluetooth sender Momentan ein Problem mit LabVIEW... so'n shiet...
 Ich hab das sogar dann so gemacht, dass ich nur ein einziges Mal einen ganzen Frame kontrolliere, dann die While Schleife beende, und künftig nurnoch 20 bytes abfrage.
 
 Aber wie gesagt momentan hat der Sender Probleme.
 
 Danke übrigens für die Mitternächtliche Antwort.
 
 
"Good judgement comes from experience, experience comes from bad judgement." 
				
				 |  |  
			|  |  
	
		
			| 
					21.11.2010, 01:23  
				  Beitrag #4 |  
			| 
					
                                                 |   jak888
   LVF-Gelegenheitsschreiber
 
   
 
 Beiträge: 133
 Registriert seit: Apr 2010
 
 2010
 2010
 en
 
 97447
 Deutschland
 
 | VISA auf Startbyte reagieren 
					So, ich hab das Teil jetzt wieder hinbekommen. Der Fehler war folgender: Die Wait on Event Funktionen sind standardmäßig mit einem Timeout von 0 ausgestattet, den sollte man wohl hochsetzen. Kann mir jemand den Sinn davon erklären?
				 
 
"Good judgement comes from experience, experience comes from bad judgement." 
				
				 |  |  
			|  |  
	
		
			| 
					21.11.2010, 08:59  (Dieser Beitrag wurde zuletzt bearbeitet: 21.11.2010 09:03  von Lucki.) Beitrag #5 |  
			| 
					
                                                 |   Lucki
   Tech.Exp.2.Klasse
 
   
 Beiträge: 7.699
 Registriert seit: Mar 2006
 
 LV 2016-18 prof.
 1995
 DE
 
 01108
 Deutschland
 
 | VISA auf Startbyte reagieren 
					Noch ein Vorschlag:   
(Die beiden Eingänge des Shift-Registers müssen noch mit Char ungleich 0 initialisiert werden. Evtl. ist auch eine Timeout-Behandlung erforderlich, wenn das Warten sehr lange dauern kann)
				
				
				 |  |  
			|  |  
	
		
			| 
					22.11.2010, 12:28  
				  Beitrag #6 |  
			| 
					
                                                 |   eg
   LVF-SeniorMod
 
 
 Beiträge: 3.868
 Registriert seit: Nov 2005
 
 2016
 2003
 kA
 
 66111
 Deutschland
 
 | VISA auf Startbyte reagieren 
					' schrieb:Noch ein Vorschlag:[attachment=59821:1.png]
 (Die beiden Eingänge des Shift-Registers müssen noch mit Char ungleich 0 initialisiert werden. Evtl. ist auch eine Timeout-Behandlung erforderlich, wenn das Warten sehr lange dauern kann)
 
Schön, aber für mich sieht es ein bischen gefährlich aus. Erstens würde ich vor der While-Schleife noch ein Flush Buffer hinmachen und zweitens irgendeine andere Möglichkeit die Schleife zu beenden. Was passiert wenn da ein einziges falsches Zeichen empfangen wird? Endlosschleife?
 
Gruß, eg
				 
 
				
				 |  |  
			|  |  |  | 
	
		
