Stap 5: Virtuele draad... binnen
Berichten worden verzonden met een preambule van de opleiding, de lengte van het bericht en de controlesom. Berichten worden verzonden met 4-6-bits codering voor goede balans van de DC, en een CRC-checksum van de berichtintegriteit.
Kunnen we het gebruiken van seriële communicatie met? antwoord is Nee
VRAGEN ontvangers vereisen een package-burst opleiding pulseert om te synchroniseren van de zender en de ontvanger, en vereist tevens goede balans tussen 0s en 1s in de berichtenstroom teneinde het evenwicht van de DC van het bericht, UARTs bieden niet deze. Zij werken een beetje met ASK draadloze, maar niet zo goed als deze code.
De volledige functie voor deze bibliotheek:
Als u wilt gebruiken de VirtualWire-bibliotheek, moet u
#include < VirtualWire.h >
Schakel de zender Data Pin, void:
vw_set_tx_pin
Schakel de ontvanger gegevens Pin, void:
vw_set_rx_pin
Setup van de snelheid van de verzending, de snelheid van Tx moet worden als dezelfde als op Rx.
de snelheid zal een aantal van bits Per seconde tussen 0-9600, voor korte afstand kunt u hoge snelheid, voor de lange afstand "tot 90m" moet u lagere transmissiesnelheid zoveel mogelijk.
vw_setup (uint16_t snelheid);
Start de ontvanger PLL uitvoert, moet u dit doen voordat u geen berichten kunt ontvangen, bel
vw_rx_start();
Dit moet u doen voordat u geen berichten kunt ontvangen. Wanneer een messageis beschikbaar (goede controlesom of niet), vw_have_message() waar zal terugkeren.
vw_rx_stop();
Blok en wachten tot de zender inactief is, genaamd:
vw_wait_tx();
Blok en wacht totdat een bericht verkrijgbaar bij de ontvanger is, bel:
vw_wait_rx();
Stuur een bericht met de opgegeven lengte, oproep:
vw_send (uint8_t * buf, uint8_t len);
Retourneert waar als een ongelezen bericht is beschikbaar van de ontvanger, bel:
vw_have_message();