Hallo,
habt ihr eine Idee, wie man am Mac ein Programm schreiben kann, welches
mit der uARt kommunizieren kann?
Ich finde da nur Processing und da geht das irgendwie auch nur mit
Arduino..
Im schlimmsten fall, könnte ich auch Windows benutzten, gibt es da eine
möglichkeit z.b. in Visual C++ auf die Serielle schnittstelle zu kommen?
Jan R. schrieb:> Hallo,>> habt ihr eine Idee, wie man am Mac ein Programm schreiben kann, welches> mit der uARt kommunizieren kann?
die vorrangige Frage dürfte sein, was denn controllerseitig mit dem UART
umgesetzt ist? Mac sollte in dieser Hinsicht identisch sein mit BSD?
Vlg
Timm
Jan R. schrieb:> wie man am Mac ein Programm schreiben kann, welches> mit der uARt kommunizieren kann?
Python --> pySerial --> Port aufmachen und abfahrt
Also meine Macs haben keine serielle Schnittstelle. Da gibt es nur noch
USB.
Also braucht man ein USB-Serial Adapter, der in die USB-Buchse gesteckt
wird. Dazu benötigt man noch einen Treiber.
Ist alles gestartet, dann gibt es ein neues Device /dev/xxxx
Wie es genau heisst, weiss ich nicht. Der Mac steht gerade woanders.
Aber man sieht, dass es neu ist, z.B. am Datum.
Und dieses Device kann man in jeder beliebigen Programmiersprache
öffnen, und dann schreiben oder lesen.
Jan R. schrieb:> Ich finde da nur Processing
Das ist nicht Dein Ernst, oder? Für den Mac gibt es XCode, das ist die
"offizielle" Entwicklungsumgebung von Apple für C/C++ und Objective-C,
der "nativen" Programmiersprache für OS X. Demnächst wird das noch um
"Swift" erweitert.
Außerdem funktioniert der Kommandozeilen-gcc ziemlich exakt so, wie er
es auch unter Linux tut; auch die Grundstruktur des Betriebssystems ist
nicht großartig anders (warum auch, ist ja schließlich ein Unix).
Für die Freunde des Basic gibt es auch Realbasic (das gibt es auch für
Windows und Linux).
Rufus Τ. Firefly schrieb:> Jan R. schrieb:>> Ich finde da nur Processing>> Das ist nicht Dein Ernst, oder? Für den Mac gibt es XCode, das ist die> "offizielle" Entwicklungsumgebung von Apple für C/C++ und Objective-C,> der "nativen" Programmiersprache für OS X. Demnächst wird das noch um> "Swift" erweitert.>> Außerdem funktioniert der Kommandozeilen-gcc ziemlich exakt so, wie er> es auch unter Linux tut; auch die Grundstruktur des Betriebssystems ist> nicht großartig anders (warum auch, ist ja schließlich ein Unix).>> Für die Freunde des Basic gibt es auch Realbasic (das gibt es auch für> Windows und Linux).
Ja toll,
wie kann ich den in C vom PC/Mac aus auf die Serielle schnittstelle
zugreifen bzw. auf den Adapter.
Da gibt es ja nicht wie beim uC ein Register für.
Mache mal ein Beispiel.
Der uC misst ein Potentiometer aus. Der AD wandler wert, wird dann über
UART ausgegeben und soll am rechner in eine Balkenanzeige umgewandelt
werde.
Bsp. 2
In einem Fenster am PC kann man eine Anzahl von schritten, die ein
schrittmotor durchführen soll einstellen.
Wie schaffe ich es, diese Strings auf die Serielle Schmittstelle zu
beingen.... Im internet steht dazu nichts und in keinem Buch lese ich
sowas.. vielleicht weiß es ja einer..
Jan R. schrieb:> Ja toll,>> wie kann ich den in C vom PC/Mac aus auf die Serielle schnittstelle> zugreifen bzw. auf den Adapter.>> Da gibt es ja nicht wie beim uC ein Register für.
Natürlich nicht.
Aber dafür gibts mit Sicherheit bei Apple eine Doku dafür.
> Der uC misst ein Potentiometer aus. Der AD wandler wert, wird dann über> UART ausgegeben und soll am rechner in eine Balkenanzeige umgewandelt> werde.
Schön.
Ist nur für die Fragestellung uninteressant. Die Fragestellung lautet:
Wie OS/X eine serielle bzw. ein bestimmtes Gerät geöffnet und davon
gelesen bzw. geschrieben.
Da es sich dabei um ein Unix handelt, wird es über fopen gehen, wobei
das Gerät sich im Dateinamen 'versteckt'. Genau das ist war ja das
geniale im Unix, das alles im Prinzip eine Datei war/ist, die man alle
gleich öffnet und als Stream behandelt.
Die einzige Frage die sich wirklich stellt, lautet: wie konfiguriere ich
zb. die Baudrate.
> In einem Fenster am PC kann man eine Anzahl von schritten, die ein> schrittmotor durchführen soll einstellen.
Noch mal:
Was auf µC Seite passiert ist völlig uninteressant, wenn es um die Frage
geht: wie öffne ich auf dem Mac die serielle Schnittstelle.
> Wie schaffe ich es, diese Strings auf die Serielle Schmittstelle zu> beingen.... Im internet steht dazu nichts und in keinem Buch lese ich> sowas.. vielleicht weiß es ja einer..
Unix: fopen, fwrite, fread, fclose.
Kannst du von einer Datei lesen, kannst du auch von der seriellen
Schnittstelle lesen.
Jan R. schrieb:> Da gibt es ja nicht wie beim uC ein Register für.
Nein, bei erwachsenen Computern gibt es ein Betriebssystem mit den
notwendigen Funktionen. Erfreulicherweise werden Schnittstellen genauso
behandelt wie Dateien, und da gibt Funktionen wie Open fürs öffnen,
write fürs schreiben, read fürs lesen usw.
Georg
würde das so gehen? Wie stelle ich die Baudrate ein? Wie würde das in
Objective-C gehen mit diesen komischen NSStrings usw. blick ich nicht
ganz durch..
Danke schonmal.
"obj-c serial interface" liefert
https://github.com/armadsen/ORSSerialPort
als erstes Ergebnis bei Google. Ich glaube, dass habe ich schon mal
benutzt und war ganz einfach.
Natürlich kann man das einfach in C machen und in Obj-C weiter
verarbeiten. OS X ist ja ein Unix und USB-Seriell-Adapter ist ja die
Serielle Schnittstelle. Dazu gibt's zig Beispiele im Internet...
Wenn Du nicht selber suchen möchtest, dann guck dir
http://www.netzmafia.de/skripten/hardware/Seriell/index.html an. Da ist
zwar die Rede von Linux, aber das gleiche gilt auch für OS X bzw. BSD =>
den C-Code kannst Du eins-zu-eins übernehmen (selbstverständlich musst
Du noch den Pfad zur Schnittstelle anpassen).
Was ist ein NSData für ein typ?
Was ist eigentlich immer dieses self?
Kann den Befehl einfach so lassen?
Kann ich den Inhalt eines Textfields einfach mit in dataToSend schreiben
umd dann reicht das zum senden oder muss im befehl hintendran noch was
geändert werden?
Wie kann ich Stopbits,Parity usw. einstellen?
Entschuldigung für die fragen aber mit Objective-C habe ich mich bis
jetzt nicht beschäftigt.
Jan R. schrieb:> Was ist ein NSData für ein typ?
Doku von NSData schon angeschaut? - Da steht in der Überschrift schon
NSData /Class/ Reference - das sagt alles... Aber wenn ich eine
Vermutung machen darf, dann sagt dir ObjektorientierteProgrammierung nix.
Du kannst für ein Konsolenprogramm auch einfach C benutzen. Alternative
Programmiersprachen gibt's natürlich noch andere.
Jan R. schrieb:> Wie kann ich Stopbits,Parity usw. einstellen?
Das steht in den Links drinnen.
Jan R. schrieb:> ... Z U A L L E N F R A G E N ...> Entschuldigung für die fragen aber mit Objective-C habe ich mich bis> jetzt nicht beschäftigt.
Wenn Du Cocoa benützten möchtest, dann musst Du dich in Obj-C oder Swift
einarbeiten. Oder Du suchst dir irgend jemanden, der dir das
programmiert.
Stichwörter/Anhaltspunkte habe ich dir mit meiner vorherigen Antwort
gegeben. Damit sollte man ohne Probleme was anfangen können.