Witam, napisalem prosty programik, ktory powoduje ze serwo przechodzi przez 100 pozycji a potem cofa sie na poczatek, i problem polega w tym ze serwo wchodzi na 3/4 pozycji i ja utrzymuje, nic wiecej, serwo to Esky micro serwo 8g. Oto program:
Zeby wyprzedzic wszystkich, ktorzy chca napisac: "czemu nie uzywasz wbudowanego PWM?" To odpowiadam: Bo chce napisac programowo
#include <avr/io.h>
#include <util/delay.h>
int main()
{
int i=0;
int timer=0;
DDRA=0xff;
while(1)
{
PORTA=0x01;
_delay_ms(1);
_delay_us(5*i);
_delay_us(5*i);
PORTA=0x00;
_delay_ms(18);
_delay_us(500-5*i);
_delay_us(500-5*i);
timer=timer+1;
}
if(timer==50)
{
timer=0;
i=i+1;
}
if(i>=100)
{
i=0;
}
}
Zeby wyprzedzic wszystkich, ktorzy chca napisac: "czemu nie uzywasz wbudowanego PWM?" To odpowiadam: Bo chce napisac programowo
