Här kommer ett inlägg som inte direkt är ett problem utan en allmän fundering.
Har tidigare labbat en del med att styra R/C servo från PIC.
Som de flesta känner till så styr man ju utslaget med pulsbredd mellan 1ms & 2ms med en puls ca. var 20'e ms.
Alt1:
Ett enkelt sätt att lösa det på är ju att lägga en timer med interupt på 20ms och sätta en pinne hög och göra en delay loop på 1-2ms sedan sänka pinnen igen, beroende på önskat läge.
Inte så snyggt då man hänger processorn under den positiva perioden.
Alt2:
Ett mer adekvat sätt är ju att göra på samma sätt, men ställa om timern var 20ms, och sätta räknaren för att få en ny interupt efter önskat delay (1-2ms) och sänka pinnen igen.
Att ställa om timern (pre & post scale) är nödvändigt för att få nödvändig upplösning för läget. Denna metod är ju bättre då den inte hänger processorn på samma sätt.
Dock kräver den en hel del matte för det går inte enbart med en kobination av pre & post scaler för den höga pulsen, utan det åtgår två kombinationer.
Alternativ två fungerar dock, och bortsett från allt jobbigt räknande är den sannolikt ett rätt bra alternativ.
Men nu kommer min fundering. Finns det någon klurig lösning om man vill köra fler servon med olika utslag (på olika pinnar givetvis) ?
Alternativ två bygger ju på att man dedicerar timern till uppgiften och ETT servo.
Jag har en del funderingar, men är nyfiken på hur ni som är proffs skulle angripa ett sådant problem.

Om någon får för sig att lista exempelkod, så ha i åtanke att jag är helt rudis på C, och bara kör assembler
