Hallo, um einen Mikrocontroller im Normalfall vom Computer aus zu programmieren wird ja eine serielle Schnittstelle benutzt, oder?! Also via SPI, I²C und RS232/UART. Worin liegen die Unterschiede also was ist am "besten"? Bitte steinigt mich nicht für diese Frage :)
Tobias schrieb: > Hallo, > um einen Mikrocontroller im Normalfall vom Computer aus zu programmieren > wird ja eine serielle Schnittstelle benutzt, oder?! Also via SPI, I²C > und RS232/UART. Worin liegen die Unterschiede also was ist am "besten"? > > Bitte steinigt mich nicht für diese Frage :) Ich hätte gerne 2 große flache und 3 spitze und eine Tüte Kiesel bitte.
Tobias schrieb: > Hallo, > um einen Mikrocontroller im Normalfall vom Computer aus zu programmieren > wird ja eine serielle Schnittstelle benutzt, oder?! Also via SPI, I²C > und RS232/UART. Worin liegen die Unterschiede also was ist am "besten"? > > Bitte steinigt mich nicht für diese Frage :) Erläutere den Hintergrund deiner Frage.
Hallo! Die Programmierung erfolgt über eine (meist) serielle (auch proprietäre) Schnittstelle am µC selbst. Bei den AVR's ist diese die SPI-Schnitstelle. Auch über JTAG kann programmiert werden. Diese wird aber hauptsächlich zum debuggen verwendet (kleinere AVRs haben gar kein JTAG, sondern ein DEBUG Wire, oder auch nichts zum debuggen, je nach Typ). Die (meisten) PCs besitzen diese Schnitstellen nicht, weshalb ein Protokollwandler (z.B. USB zu SPI) nötig ist. Diese kann man kaufen (z.B AVR-ISP oder mk2) oder bauen. Gruß Sepp
Sagen wir ich suche eine platzsparende und schnelle Möglichkeit mit einen Mikrocontroller auf einer Platine zu kommunizieren. Da würde doch RS232 rausfallen?!
Tobias schrieb: > Hallo, > um einen Mikrocontroller im Normalfall vom Computer aus zu programmieren > wird ja eine serielle Schnittstelle benutzt, oder?! Also ich verwende in der Regel einen Programmieradapter und wenn man den µC ohne speziellen Programmieradapter für die Anwender updatefähig machen will greife ich inzwischen eher zu USB als zu RS232. Aber von den von dir genannten > ... SPI, I²C und RS232/UART. würde ich RS232 vorziehen, da SPI und I²C doch etwas spezieller sind. RS232 hat jeder PC bzw. ist über einen günstigen USB=>RS232 Adapter für jedermann einfach zu Handhaben. Tobias schrieb: > Sagen wir ich suche eine platzsparende und schnelle Möglichkeit mit > einen Mikrocontroller auf einer Platine zu kommunizieren. Da würde doch > RS232 rausfallen?! Nö warum? RS232 ist immernoch das einfachste. Entweder mit Pegelwandler auf der Platine oder per USB => RS232/TTL Adapter. Für RS232 brauch man keine speziellen Tools, da geht einfach jedes Terminal-Programm (bei Windows ist auch eins dabei) und selbst über die Kommandozeile lässt sich da sehr leicht drauf zugreifen. Und auch die Programmierung einer Applikation ist mit RS232 immernoch am einfachsten. Aber um einen µC über RS232 programmieren können brauchen die meisten µCs zumindest einen Bootloader, nur die wenigsten haben einen integriert (wie z.B. der STM32)
Tobias schrieb: > Sagen wir ich suche eine platzsparende und schnelle Möglichkeit mit > einen Mikrocontroller auf einer Platine zu kommunizieren. Da würde doch > RS232 rausfallen?! Vergiß alles, was du bis jetzt gesagt hast und nimm ISP. Und die kann kein PC von Haus aus, also brauchst du sowas wie den AVRISP-MKII oder ähnliches. ISP ist der 6polige Stecker (oder mal 10polig), der mit dem AVR verbunden wird. Wenn du nicht in der Schaltung programmieren willst, kannst du auch den STK500 oder ein anderes Programmier- oder Testboard nehmen und den AVR zum Programmieren dort reinstecken. Der STK500 kann dann auch HV-Programmierung, wenn du dich mal ausgesperrt hast...
Tobias schrieb: > Sagen wir ich suche eine platzsparende und schnelle Möglichkeit mit > einen Mikrocontroller auf einer Platine zu kommunizieren. Du musst unterscheiden, - ob Du die Kommunikation benutzen willst den µC zu programmieren, - oder ob Dein Anwenderprogramm mit dem PC oder einem anderen µC Daten austauschen soll. Das eine hat mit dem anderen normalerweise nichts zu tun (Ausnahme vielleicht: Bootloader). Gruß Dietrich
Hallo Dietrich, das soll ausschließlich zur Programmierung vom uC dienen.
Dann nimmst du einen richtigen Programmieradapter. Für AVR z.B. AVR ISP MK2, für PIC z.B. PICKIT 3 ICD oder so. Mit den billigen Bastellösungen wirst du auf Kurz oder lang meist nicht glücklich und am Ende schmeisst du die billige Lösung weg und kaufst dann doch was Vernünftiges. Wer billig kauft, kauft zweimal.
tobias patzke schrieb im Beitrag #3156999: > Hallo Dietrich, > ich möchte die Kommunikation ausschließlich zum Programmieren benutzen. Dann schaust du in das Dtenblatt deines Controllers wie dieser gerne programmiert werden möchte. Das kannst du dir NICHT aussuchen. Der Controller kann, sofern ein Bootloader drauf ist, auch durch eine andere Schnittstelle programmiert werden. Diesen Bootloader kriegst du aber nur so auf den Cntroller drauf wie der Hersteller des Controlers es sich ausgedacht hat
Einen Programmer braucht man sowieso, denn irgendwie muss der Bootloader ja drauf.
Viktor N. schrieb: > Einen Programmer braucht man sowieso, denn irgendwie muss der Bootloader > ja drauf. No, es gibt auch diverse Controller die mit Bootloader ausgeliefert werden. Welche steht im (wer hätte das gedacht) Datenblatt.
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.