Goed op je Alan Burlison.
Dit is niet bedoeld om te worden opzakcapaciteit u op geen enkele manier. Uw code deed wat het moest doen. Groot succes. Mijn eerste reactie in een forum commentaar was eigenlijk gericht op de mensen die waar het aanbieden van niet-werkende ideeën van het gebruik van een UART naar hulp van sommige hardware.
Mijn eerste suggestie van het gebruik van een timer om te helpen is deels geconcretiseerd uit hieronder, maar niet volledig functioneel. De reden het niet compleet is is dat toen ik begon te vullen van de code werd het duidelijk dat er met een beetje meer optimalisatie veel klokken om te doen de volledige-monty als Bit-Banging zonder te uitrollen van alle lussen.
Het tweede stukje van de actie hieronder is mijn andere suggestie. Een van de "gebruik een UART" mensen zei dat u een omvormer gebruiken kon om op te lossen de STARTBIT probleem. Ik dacht dat "Goed - als u een 74XX aan het gooien gaat, waarom niet gebruik de SPI en hebben 140 klokcycli gratis." Nogmaals dit is niet een complete oplossing, maar is een "proof of concept' om te laten zien hoe de hardware kan helpen.
Tot slot is het derde stuk een versie van bit bonzen uit een WS2811 die ik kwam met. Sans een WS2811 omdat ik heb geen. Het doet niets beter dan Alanen code. Het is gewoon een beetje meer geoptimaliseerd (1/2 formaat) en gemakkelijker te lezen als gevolg van geen lus afrollen en een door de pad-verlenging.
Het niet breekt een nieuw terrein, er is geen magie in dat niemand ooit heeft gebruikt. Het is dat gewoon een beetje mij pronken en een beetje praktijk voor mij. Ik heb uit de buurt van de assembler voor meerdere jaren en ben gewoon proberen op te bouwen mijn vertrouwen een beetje.
Hoe dan ook - op met de show