Schritt 6: USB serielle Kommunikation
Der ATmega328P hat einen programmierbaren seriellen USART. Was wir tun ist unsere AVR USB-BUB herstellen. Dies ermöglicht es uns, standard USART-Routinen verwenden, um alle unsere Taktung und timing-Anforderungen und ermöglichen es uns, mit einer externen Host, wie Ihre FreeBSD-Box, Windows, zu kommunizieren oder Mac Maschine über ein serielles terminal-Programm. Dies ist ideal für Debuggen und unerlässlich für Interaktivität mit Ihren AVR, wie wir bald sehen werden, wie Ihr AVR Sie zum Duell in der Logik in meinem Mastermind-Spiel fordert.
Der USB-BUB hat sechs Anschlüsse:
- AT·
- RX
- TX
- 5V
- 3,3 v
- Boden
Die DTR-Leitung wird verwendet für die Geltendmachung eines Resets bei der Programmierung über die USB-BUB. Das ist richtig, wenn Ihr AVR ein Arduino-kompatiblen Bootloader hat, können Sie direkt über die USB-BUB programmieren. Ich benutze es für diesen Zweck auf meinem Blanken Knochen Board wo ich einen ATmega328P habe sitzen mit einem Bootloader installiert. Wahrscheinlich haben Sie es gesehen, wenn Sie eines meiner anderen Instructables gelesen habe.
RX, TX, 5V und Masse, glaube ich, sind selbsterklärend. Weil der FTDI-Chip, der in den USB-BUB verwendet wird einen 3,3V hat Regler, es stellt auch 3,3V auf die 3.3V Pin, aber Sie müssen Jumper um es zu bekommen. Ich habe es auf diese Weise so konfiguriert, dass ich eine separate 3.3V biete Versorgung mit Geräten, die unterschiedlichen Leistungsanforderungen, wie einige meiner SPI SRAM-Speicher-Chips haben. Wie praktisch ist das?! Sie können auch die 5V vom USB-BUB um dein Board zu versorgen, wenn Ihr geregelten Netzteil auf ein anderes Board verwendet wird; bewegen Sie einfach Ihre Entkopplung Schaltung zwischen den USB-BUB 5V und Masse-Pins. Ich habe gezeigt, wie ich getan habe, die auf eine unterschiedliche Steckbrett, das ich, mit einem externen SRAM-Chip benutze, wenn das zukünftige interessant ist. Das Bild hat eine Menge Sachen, die eng in einem kleinen Bereich sollte, die Entkopplung Schaltung jedoch vertraut und spürbar.
Um die USB-BUB für serielle Kommunikation nutzen müssen wir die Verbindungen, zusammen mit ein paar Komponenten dazwischen machen. Wenn Sie Ihr 6-polige rechtwinklige männlichen Header es auf deinem Board irgendwo bequem Platz haben. Haben Sie einen rechten Winkel abtrünnigen Streifen, 6-polig brechen Sie ab und dann legen Sie es. Ich habe gezeigt, wo ich mir unten platziert haben. Die standard rechten Winkel-Header können ein Bär in einem Steckbrett manchmal bleiben werden. Ich verwende normalerweise eine modifizierte Version mit längeren Tail enden. Es hat 7 Stifte, aber hey, who cares. Ich bin zu faul, um aus der siebten Pin sowieso schnippeln.
Schließen Sie das USB-BUB
Auf den Pin, der DTR werden, schließen Sie ein 0.1uF Kondensator negative Ende zuerst und verbindet die positive Seite über einen Draht mit der RST-Pin des ISP-Headers. Verweisen Sie auf das Pinout, wenn Sie vergessen haben oder einen darauf machen aus den Bildern unten Reim. Verbinden Sie Pin 3, TXD, mit der RX-Pin des USB-BUB. Denken Sie daran, Ihr AVR übertragen Pin die RECEIVE-Pin von der remote-Einheit. für den nächsten Stift auf dem USB-BUB, TX, sollten Sie ein 10 k-Ohm-Widerstand, gefolgt von einem Draht mit dem RXD Pin (Pin 2) des AVR verbinden. 5V zu verbinden Ihre + 5V Stromschiene, überspringen die 3.3V Pin und Masse-Pin an Ihre Bodenschiene anschließen und fertig.
Sie können überspringen Sie den nächsten Schritt und gehen Sie direkt zu installieren, anschließen und spielen Mastermind, es sei denn, Sie einige treibende Neugier haben um herauszufinden wie eine max232-Verbindung konfigurieren.