Stap 6: USB-seriële communicatie
De ATmega328P heeft een programmeerbare seriële USART. Wat we gaan doen is de USB-BUB verbinden met onze AVR. Hierdoor kunnen we met USART standaardroutines te behandelen al onze klokken en timing van de behoeften en laten toe om te communiceren met een externe host, zoals uw FreeBSD-box, Windows, of Mac machine via een seriële terminal-toepassing. Dit is geweldig voor foutopsporing en essentieel voor interactiviteit met uw AVR, zoals we spoedig zien zullen als uw AVR je uit voor een duel in de logica in mijn spel Mastermind daagt.
De USB-BUB heeft zes verbindingen:
- DTR
- RX
- TX
- 5V
- 3,3 v
- Grond
De DTR-lijn wordt gebruikt voor een RESET opkomen tijdens het programmeren via de USB-BUB. Dat klopt, dat als uw AVR een Arduino-compatibele bootloader heeft, kunt u het programma direct via de USB-BUB. Ik gebruik het voor dat doel op mijn Kale botten Board waar ik heb een ATmega328P zitten met een bootloader geïnstalleerd. U heeft waarschijnlijk gezien het als je een van mijn andere instructables hebt gelezen.
RX, TX, 5V en Ground, zijn volgens mij spreekt voor zich. Omdat de FTDI chip die wordt gebruikt in de USB-BUB een 3.3V heeft regelgever, ook dooft 3,3 v op de 3.3V pin, maar je moet jumper het om het te krijgen. Ik heb het op die manier zo geconfigureerd dat ik een aparte 3,3 v bieden kan leveringen naar apparaten die verschillende energievereisten, zoals enkele van mijn SPI SRAM-geheugenchips hebben. Hoe handig is dat?! U kunt ook de 5V van de USB-BUB voor het aandrijven van je board als uw gereglementeerde voeding in gebruik op een ander bord; gewoon gaan uw ontkoppeling circuit tussen de USB-BUB 5V en ground pinnen. Ik heb je zien hoe ik heb dat gedaan op een verschillende breadboard die ik gebruik met een externe SRAM-chip, als dat geen toekomstige belangen. De afbeelding heeft een heleboel dingen krap in een klein gebied, maar het ontkoppeling circuit moet vertrouwd en merkbaar.
Om te gebruiken het USB-BUB voor seriële communicatie moeten we maken van de verbindingen, samen met een paar onderdelen tussendoor. Hebt u uw 6-pins rechte hoek mannelijke header plaatsen op je board ergens handig. Als u een rechte hoek afgescheiden strip heeft 6 pins afbreken en plaats vervolgens het. Ik heb je zien waar ik mij hieronder heb geplaatst. De standaard rechte hoek headers kunnen een beer om te verblijven in plaats in een breadboard soms. Ik gebruik normaal een gemodificeerde versie met langere staart eindigt. Het heeft 7 pinnen, maar hey who cares. Ik ben te lui om snip uit de zevende pin anyway.
Sluit de USB-BUB
Op de pin dat zal worden DTR, sluit een 0.1uF condensator einde eerste negatieve en de positieve kant via een draad verbinden met de eerste pin van de ISP-header. Terug te verwijzen naar de pinout als u vergeten bent of het uitzoeken van de foto's hieronder. Pin 3, TXD, verbinden met de RX-pin van de USB-BUB. Vergeet niet, uw AVR van TRANSMIT pin is de pin ontvangen van de externe eenheid. voor de volgende pin op de USB-BUB, TX, wilt u verbinding maken met een 10 k Ohm weerstand, gevolgd door een draad naar de RXD pin (pin 2) van de AVR. Sluit de 5V om uw + 5V macht spoor, skip de 3,3 v pin, en de grond pin sluit aan op het spoor van uw grond en je bent klaar.
U kunt de volgende stap overslaan en ga direct naar de installeren, aansluiten en spelen van Mastermind, tenzij u hebt enkele drijvende nieuwsgierigheid om te achterhalen hoe een max232-verbinding configureren.