Gast
#1268023
Hallo, ich setze mich derzeit mit dem GPIB Bus auseinander. Dazu habe ich mir einen Controller von Atmel geschnappt und die nötigen Treiberbausteine 75160 und 75161. Rein elektrisch funktioniert es schon. Ich konnte an einem Power Supply von HP (HP6614C, den ProgrammingGuide habe ich vorsichtshalber mal angehängt) z.b. den Output an / ausschalten (über den SCPI Befehl OUTPut ON bzw. OUTPut OFF). Allerdings habe ich noch massive Probleme etwas von dem Gerät zu lesen. Ich habe es mit der einfachsten aller Queries probiert: *IDN?. Eigentlich sollte das Gerät mir darauf hin ein paar Daten von sich selbst schicken. Hersteller, Modellnummer usw. Leider aber kommt von dem Gerät gar nichts zurück. Folgendes Szenario: Der AVR (Controller) konfiguriert das HP als Listener und sich selbst als Talker. Danach kann ich beliebige Daten-Kommandos schicken (z.B. eben OUTPut ON, der komplette String sieht dann so aus: OUTPut ON\n. Wobei bei dem letzten Char ==> \n noch die EOI Leitung gesetzt wird. Alles ganz nach Standard...). Sende ich allerdings z.B. *IDN? ( ==> *IDN?\n) und setzte danach über ein Befehls-Kommando das HP als Talker, mich selbst als Listener, so warte ich vergeblich auf Antwort. Auf dem HP kann ich nur die Fehlermeldung 410 ablesen. Laut Programming Guide bedeutet diese: Query Interrupted und kommt angeblich immer dann, wenn man neue Anfragen stellt bevor der Buffer ausgelesen wurde, der die Antwort auf einen ?-Befehl bereitstellt. Ich schicke aber keine neuen Kommandos :/ Oder wird das umstellen des Talkers / Listeners schon als neues Kommando angesehen? Wenn ja, wie kann ich dann dem Device sagen, dass es nun "quatschen" kann, wenn nicht über diese Befehle? ich stecke an der Sache wirklich schon zu lange fest :( Vielen, vielen Dank schon jetzt für alles, was da kommen mag! Stefan