PIC18F baserade 6 kanaler DMX sändare (4 / 7 steg)
Steg 4: Firmware
Firmware är baserad på den medföljande kod med i mikrochips AN1076. Jag aktiverade 6 AdC kanaler och igenom dem när de återvänder data som placeras i adress variabler, som väntar på att skickas.
Också lagt till möjligheten att kompensera startadressen, så i stället för det alltid skicka sitt första byte data till DMX adress 1, DIP-switchar kan användas och ange att det ska börja på någon av adresserna.
Tyvärr var det enda sättet jag kunde genomföra det att fungera med alla adresser att använda en metod som ger hackig AdC resultat det högre adressen är inställd. Men det fungerar med alla adresser. Metod 3
I den firmware, kommenteras ut, är två andra metoder att använda förskjutningsvärdet.
Metod 1: Tillåter DIP-växlarna 1-8 fungerar korrekt, vilket är DMX adresser 1 - 255
Metod 2: Tillåter DIP-omkopplare 1-7 & 9 fungerar korrekt vilket är adresser 1-127 & 256-383
Metod 3: Diskuterades ovan.
Ingår i ZIP på steg 1 var firmware med metodens 1 & 2 kommenteras ut. Och alla 3 metoder, redo att programmera HEX-filer.
Mycket PCB utrymme kan sparas genom att ta bort funktionerna förskjutning i källkoden, ta bort alla 3 av metoder och ta bort "rcall OffsetAddress" och sedan sändaren bör alltid börja skicka på adress 1.
Om någon kan fixa eller ta reda på ett bättre sätt att genomföra det låt mig veta. Jag har tillbringat sätt att mycket tid att försöka lista ut det, jag har några kommentarer på vad jag försökt i källkoden. Det har att göra med indirekt adressering.