Stap 83: Software: RF modus: gegevens verpakking
In deze stap. We gaan het doen van een volledige walkthrough van hoe een gegevenspakket vanaf de PC naar de bier pong tafel wordt overgebracht. Zorg ervoor dat de stroomdiagrammen gebruiken en opdracht van tabellen die ik heb op voorwaarde in deze stap, ze waarschijnlijk u meer dan de geschreven tekst in deze stap helpen zullen.
Gegevens overbrengen van de PC naar de RF Master-bestuur
Alle gegevens die wordt overgebracht van de PC naar de PIC18F4550 op het bord RF Master wordt overgebracht in 64-byte pakketten. Of we afgeven van 3 bytes aan gegevens of 64 bytes aan gegevens moeten, sturen we altijd een volledige 64-byte pakket. De USB-code stuurt eigenlijk 65 totaal aantal bytes, maar één byte is de lijst-ID en wij gebruiken het niet.
Wanneer we een opdracht worden geactiveerd en verzenden van gegevens naar de RF Master Board, zal de eerste twee bytes van het eerste pakket dat worden gebruikt om te bepalen welke functie wij gaan bijwerken op tafel. Dit betekent dat na de opdracht bytes, alleen hebben we maximaal 62 bytes van raw-gegevens van dat één pakket te gebruiken. Als we meer dan 62 bytes van raw-gegevens verzendt, zijn wij gedwongen een andere USB-pakket verzendt nadat het eerste pakket dat is ontvangen. De enige opdracht dat moet om dit te doen is de opdracht vernieuwen raster.
Verwerking van gegevens van de PC en te verzenden naar de bier pong tafel
De nRF24L01 +-module heeft een maximaal laadvermogen van 32 bytes. Dit betekent dat voor elke pakketten van 64 bytes, die we van de PC ontvangen, zullen we voor het verzenden van twee 32 byte RF-pakketten voor het verzenden van alle gegevens (dat is als we moet groter zijn dan 32 bytes gebruiken. Als we gebruik maken van 32 bytes of minder vanaf de USB packet dan kunnen we alleen wilt verzenden pakketten van één 32 bytes RF). De opdrachten Update ringen, RF-modus activeren en RF-modus uitschakelen alle deel uitmaken van een 64-byte pakket vanaf de PC, maar zien als elk van deze opdrachten gebruiken minder dan 33 bytes aan gegevens kunnen we alle gegevens die wij nodig hebt in één pakketten van 32 bytes RF passen.
Wat betreft de andere opdrachten, we gewoon doorgeven van de pakketten van de eerste 32 bytes RF, wachten op een ACK van het RF slaaf bord en vervolgens doorgeven het tweede 32 bytes pakket waarin de laatste 32 bytes aan gegevens uit de ontvangen USB-pakket. Dat is het, de rest wordt afgehandeld door de bier pong tafel.
Het ontvangen van gegevens van het bord RF Master
Na ontvangst van een pakket van het bord RF Master, zal het bier pong tafel scheiden de eerste twee bytes in het pakket in een 16-bits variabele. Deze variabele bevat de waarde van de opdracht die vertelt de bier pong tafel welke functie bij te werken. Zodra het bier pong tafel cijfers uit die opdracht is verstuurd, het zal wachten op meer gegevens te komen als er meer zal komen, dan de ontvangen gegevens parseren en update welke functie werd geselecteerd.
Opmerking:
De waarden voor de LED raster helderheid en scroll snelheid worden in de opdracht Update ringen verstrekt.
De 16-bits waarden zijn voor de opdracht vernieuwen raster en Update ringen verpakt in twee afzonderlijke bytes in little endian-indeling. Elk van hun grafieken van de verpakte gegevens tonen een voorbeeld van hoe de gegevens wordt ingepakt.