Mitt svar på WS2811 med en AVR sak
Bra om du Alan Burlison.
Detta är inte menat att uppsamlare du på något sätt. Din kod gjorde det det måste göra. Stor framgång. Min första reaktion i en forum kommentar var faktiskt riktat mot folk som när det gäller icke-arbetande idéer att använda en UART för att få hårdvara hjälp.
Mitt första förslag att använda en timer för att hjälpa till är delvis byggas ut under, men inte fullt fungerande. Anledningen till det inte är komplett är att när jag började fylla i koden blev det uppenbart att med lite mer optimering finns gott ur för att göra full-monty som lite smällar utan att behöva rulla några slingor.
Den andra biten av åtgärd visas här är mitt andra förslag. En av de "Använd en UART" människorna sade att du kunde använda en inverter för att fixa upp START-bitars problemet. Jag tänkte "Bra - om du ska kasta en 74XX på det, varför inte använda SPI och har 140 klockcykler gratis." Återigen detta är inte en komplett lösning, men är en "proof of concept" att visa hur maskinvaran kan hjälpa.
Slutligen är den tredje delen en version av lite banka ut en WS2811 som jag kom med. Sans en WS2811 eftersom jag inte har någon. Det gör inte något bättre än alanerna kod. Det är bara lite mer optimerad (1/2 storlek) och lättare att läsa på grund av ingen slinga slangen och väg-förlängning.
Det bryter inte någon ny mark, det finns ingen magi i det som ingen har använt. Det är bara lite mig visar upp och en liten bit av praxis för mig. Jag har varit borta från assembler under flera år och försöker bara att bygga upp mitt självförtroende lite.
Hur som helst - på med showen