Stap 4: Firmware
De firmware is gebaseerd op de opgenomen code met in de Microchip AN1076. Ik heb 6 AdC kanalen ingeschakeld en hen te doorlopen als zij terugkeren gegevens die wordt geplaatst in adres variabelen, die wacht om te worden verzonden.
Ook de mogelijkheid toegevoegd om te compenseren het startadres, dus in plaats daarvan altijd de eerste byte van de gegevens te sturen naar DMX adres 1, de DIP-schakelaars gebruikt en kunnen worden ingesteld om te starten op een van de adressen.
Helaas was de enige manier waarop die ik kon brengen om te werken met alle adressen worden geïmplementeerd met behulp van een methode die schokkerig AdC des te hoger het adres is ingesteld resultaten op. Maar het werkt met alle adressen. Methode 3
In de firmware, uitgecommentarieerd, zijn twee andere methoden om het gebruik van de offset waarde.
Methode 1: Laat de DIP-schakelaars werkt, dat is de DMX adressen 1 - 255 van 1-8
Methode 2: DIP-schakelaars kunt 1-7 & 9 functioneert die adressen 1-127 & 256-383
Methode 3: Werd hierboven besproken.
Opgenomen in de ZIP op stap 1 was de firmware met de methode 1 & 2 uitgecommentarieerd. En de HEX-bestanden voor alle 3 methoden, klaar om te programmeren.
Alot van PCB ruimte door het verwijderen van de offset-functies in de broncode kan worden opgeslagen, verwijder alle 3 van de methoden en de "rcall OffsetAddress" en dan de zender moet altijd beginnen sturen op adres 1.
Als iemand repareren kan of ontdek een betere manier om de uitvoering ervan laat het me weten. Ik heb manier om veel tijd proberen om het uit te zoeken, ik heb enkele opmerkingen over wat ik geprobeerd in de broncode weergeven. Het heeft te maken met indirecte adressering.