Glück auf!
Mangels bezahlbarer Mac-Anwendungen für die Messtechnik versuche ich nun selbst den Start in die Programmierung solcher Anwendungen.
Mit C++ komme ich eigentlich ganz gut klar. Und da bei Unix alles eine Datei ist, vereinfacht sich das Ganze für mich auch.
Schnell konnte ich mit einem einfachen Konsolen-Progrämmchen mein Speicheroszilloskop (DSO) dazu überreden mit dem Mac zu kommunizieren.
(Codeschnipse anbei)
Das ganze ist wie folgt aufgebaut:
DSO -> USB-Seriell-Adapter -> Mac
Soweit so gut. Nun kriege ich aber die Kurve nicht in Richtung einer Cocoa-Anwendung die eigentlich nur das gleiche machen soll, allerdings eben in einem Fenster.
Die Header-Dateien kennt Xcode nicht, wenn ich eine Cocoa-Anwendung schreiben möchte. Und die ganze Sache mit "open,read,write" zu gestalten, ist mir bis jetzt noch nicht gelungen.
Wer könnte mir aus meinem Code-Schnipsel hier eine kleine Cocoa-Anwendung schreiben und kommentieren, sodass ich endlich mal ein Erfolgserlebnis in dieser Sache habe kann?
Beste Grüße
Henry
---
Die Ausgabe sieht dann in der Xcode-Konsole wie folgt aus:
[Session started at 2008-04-28 19:14:21 +0200.]
digitales Speicheroszilloskop: /dev/tty.usbserial-FTBTCM8J
023.3mV DV
The Debugger has exited with status 0.
Mangels bezahlbarer Mac-Anwendungen für die Messtechnik versuche ich nun selbst den Start in die Programmierung solcher Anwendungen.
Mit C++ komme ich eigentlich ganz gut klar. Und da bei Unix alles eine Datei ist, vereinfacht sich das Ganze für mich auch.
Schnell konnte ich mit einem einfachen Konsolen-Progrämmchen mein Speicheroszilloskop (DSO) dazu überreden mit dem Mac zu kommunizieren.
(Codeschnipse anbei)
Das ganze ist wie folgt aufgebaut:
DSO -> USB-Seriell-Adapter -> Mac
Soweit so gut. Nun kriege ich aber die Kurve nicht in Richtung einer Cocoa-Anwendung die eigentlich nur das gleiche machen soll, allerdings eben in einem Fenster.
Die Header-Dateien kennt Xcode nicht, wenn ich eine Cocoa-Anwendung schreiben möchte. Und die ganze Sache mit "open,read,write" zu gestalten, ist mir bis jetzt noch nicht gelungen.
Wer könnte mir aus meinem Code-Schnipsel hier eine kleine Cocoa-Anwendung schreiben und kommentieren, sodass ich endlich mal ein Erfolgserlebnis in dieser Sache habe kann?
Beste Grüße
Henry
---
Code:
#include <iostream>
#include <fstream>
using namespace std;
int main ()
{
char SerielleSchnittstelle[28] = "/dev/tty.usbserial-FTBTCM8J"; // Der Pfad der seriellen Schnittstelle.
int Zaehler = 0; // Das digitale Speicheroszilloskop (DSO) gibt 12 Zeichen zurück. Danach soll Schluss sein.
cout << "digitales Speicheroszilloskop: " << SerielleSchnittstelle << "\n"; // Als erste Ausgabe für die Konsole (nur so).
ofstream fout(SerielleSchnittstelle); // öffnet die serielle Schnittstelle zum schreiben
ifstream fin(SerielleSchnittstelle); // öffnet die serielle Schnittstelle zum lesen
fout <<"V3\n"; // Dem DSO sagen, es soll die gemessene Spannung ausgeben. Befehl V3 und LF
fout.close(); // Es braucht nicht mehr in die serielle Schnittstelle geschrieben werden, also zumachen.
char ch;
while (Zaehler < 12) // Schleife zum Einlesen der gemessenen Spannung.
{
fin.get(ch); // Das übermittelte Zeichen vom DSO auslesen.
cout << ch; // Das vom DSO übermittelte Zeichen auf der Konsole ausgeben.
Zaehler++; // Zähler einen hochsetzen.
}
fin.close(); // Lesen der seriellen Schnittstelle beenden.
return 0;
}
Die Ausgabe sieht dann in der Xcode-Konsole wie folgt aus:
[Session started at 2008-04-28 19:14:21 +0200.]
digitales Speicheroszilloskop: /dev/tty.usbserial-FTBTCM8J
023.3mV DV
The Debugger has exited with status 0.