Hallo an alle: Also ich hab mir mal Gedanken darüber gemacht, wie es am einfachsten möglich wäre, eine Verbindung von einem PC zu einem AVR controller aufzubauen, um Daten auszutauschen, sodass man den AVR dann quasi über eine VC++ Oberfläche kontrollieren kann... Ist das ohne größeren Aufwand möglich bzw. wie tief muss man sich in der VC++ Programmierung auskennen, um das hinzubekommen?? WÜnsch noch nen schönen Nachmittag...
Ein Nachmittag genügt dafür nicht, auch nicht, wenn er schön ist. Um mit VC++ auch nur mäßig anständige Programme hinzubekommen, muss man sich schon sehr viel länger mit dem Werkzeug VC++, der Programmierung in C oder C++ und der Programmierung von Windows-Anwendungen auseinandersetzen. Je nach Vorkenntnissen sind das schnell 500 bis etliche Tausend Nachmittage.
Jenau , mit VC++ isset ooch dem Anfenger , föllich problemlohs möchlik , in nur eenem Nachmittak nen echt krass coolet : proggy zu hecken, det echt voll krass kommt , ey !!! VC++ rulet !!!!1111elf
Toll wie schlau ihr alle seid ... Wobei soziale Kompetenz zu Programmierkenntnissen umgekehrt proportional zu sein scheint.
"Sandmännchen": na wenn Du solche Fragen stellst dann kannst Du es wohl gleich vergessen. Kann es wirklich Leute geben, die noch nichts von RS232 oder USB gehört haben? Vielleicht. Allerdings sollten diese Leute dann lieber Pullis stricken oder Hamster züchten.
Wenn Sandmännchen auf Klicki-Bunti verzichten kann, würde ich ihm eine simple Konsolen-Applikation empfehlen. Eine Application für serielle Kommunikation lässt sich sicher problemlos finden. -> Sache von einem Nachmittag
Mann, was ich da wieder angerichtet habe ;-) Also,bei mir handelt es sich in keinester Weise in jemanden, der fertigen Quellcode sehen will, nein, ich will die Dinge verstehen und einfachere Sachen selber coden... Leider bin ich in sachen Programmieren noch Anfänger und habe auch nciht den ganzen Tag Zeit, mich mit diesen Dingen zu beschäftigen, ist eben nur eines von vielen Hobbys....nun, um zurück zum Thema kommen.. Ich habe vor, mich in der nächsten Zeit mit VC++ auseinanderzusetzen, denn eine Oberfläche sollte es schon sein.... nichts gegen Konsolenanwendungen, nur hab ich mir eben das Ziel gesetzt, ne Oberfläche zu machen...obs was wird, wird man ja sehen... Was ich eigentlich in Erfahrung bringen wollte, ist folgendes: Welche Arten der Kommunikation gibt es? Eigentlich nur entweder direkt über UART (RS232) und MAX232 zu PC oder einem Chip von FTDI, also µC -> USB Chip -> RS232 PC... Laut einigen Einträgen in anderen Foren sollte es nicht allzuschwer sein, einen chip von FTDI für solch einen Zweck zu nutzen.. Was für einen IC könnt ihr mir empfehlen? FTDI? Oder vielleicht Cypress? Oder gibt es noch andere??
Für RS232/COM Verbindungen kannst du beides (MAX232 oder FTDI FT232BM) benutzen. Das PC API ist für beide fast gleich, auf der µP Seite sowieso identisch. Für den Anfang empfiehlt es sich mit einem MAX232 anzufangen, das eliminiert schon mal viele Fehlerquellen und kann im Handumdrehen auf dem Steckbrett zusammengesteckt werden. Auf der PC Seite benutzt du am besten die CreatFile(), ReadFile(), WriteFile() APIs. Fang mit synchronem ("non Overlapped I/O") lesen und schreiben an. Damit kannst du zwar keine grossen Sprünge machen (Window ist blockiert wenn du liest und der µP sendet nicht...) aber es hält das ganze in erträglichen Aufwand. Danach kannst du Overlapped I/O und Multithreading probieren aber das wird dann für einen Anfänger sehrt schnell haarig....
Nun gut...einen FT2232C hab ich zuhause schon herumliegen, mit dem sollte sich das realisieren lassen. Ich möchte jedoch auch erwähnen, dass ich mich keineswegd auf USB versteifen möchte, denn eine "stinknormale" RS232 Verbindung vom PC zu den UART Leitungen des AVR über nen Pegelshifter is immer noch das einfachste... Die Sache ist ja eher die, wie arbeite ich das RS232 Protokoll im VC++ ab oder besser gesagt, gibt es für das Protokoll bereits Module/Bibliotheken.Selber sowas zu schreiben, ist wohl kaum drinn.. Ich könnte natürlich nen FTDI chip hernehmen und versuchen, die DLL Treiber zu nutzen (was wahrscheinlich auch nicht das einfachste in VC++ ist g ) ...naja nen Versuch wär es wert.......
@Kupfer Michi: Sry, hab gerade meinen letzten Post verfasst, als du gepostet hast und deine Antwort erst zu spät gelesen ;-)
>wie arbeite ich das RS232 Protokoll im VC++ Da gibts kein vorgegebens Protokoll. Du liest/Schreibts die Bytes wie bei einem File oder der Console. Wie du die Bytes interpretierts ist deine Sache bzw. dein von dir vorgegebens Protokoll. >FTDI chip hernehmen und versuchen, die DLL Treiber zu nutzen (was wahrscheinlich auch nicht das einfachste in VC++ ist Wenn du das D2XX Interface beutz unterscheiden sich die APIs zu den native COM Interfaces nur durch einen Prefix... (und eine virtuelle Deckklasse kann dann auch noch den letzten Rest an Unterschieden für deine Anwendung verschwinden lassen)
Gut, ich werde mich vorher näher mir C++ Programmierung und in weiterer Weise mit dem Visual Studio beschäftigen....wenn ich ein gewisses Grundwissen besitze,wende ich mich wieder an dich :-) Danke, du hast mir die konstruktivste Hilfe geleistet... Kannst du mir ein Buch empfehlen zu Visual VC++ für Anfänger, was sich speziell mit Zugriffen auf Seriellen /Parallelen Ports bzw. der Windows API beschäftigt? Für "gewöhnliches" objektorientiertes C++ hab ich schon ein Tutorial heruntergeladen, da ist in dieser Hinsicht aber wenig enthalten... Danke vielmals.. P.S.: kannst du mir vielleicht deine ICQ UIN oder ne mailadresse zukommen lassen? ;-)
Schau dir mal die Homepage von Anton Zechner an. Er hat da die parrallele Schnittstelle und die serielle Schnittstelle(RS232) sehr gut beschrieben. Die Adresse lautet: http://members.inode.at/anton.zechner/az/index.html Suche da nach: "Die serielle Schnittstelle" unter "Berschreibungen" mfg Sepp
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.