用该程序控制舵机旋转,一开始会转动,但是后面舵机吱吱响不动,求大神指点

 #include<stdio.h>
    #include</usr/include/wiringPi.h>
     
    void init();
    void change(int angle);
    
    int main()
    {
            init();

            int angle_0 = 1;
            int angle_1 = 180;
           // scanf("%d",&angle);
            int timess = 100; 

            while(timess)
			{
			
            change(angle_0);
            change(angle_1);
            timess--;
            
            }
            return 0;
    }
     
     
   void change(int angle)
	{
		int i=0;
        float x=0;
		int k=180;
            while(k--)
            {
                    x=11.11*i;
                    digitalWrite(25,HIGH);
                    delayMicroseconds(500+x);
                    digitalWrite(25,LOW);
                    delayMicroseconds(19500-x);
                    if(i==angle)
                        break;
                    i++;
             }
	 } 
     
    void init()
    {
            wiringPiSetup();
            pinMode(25,OUTPUT);

    }

 

用示波器看看波形吧

delayMicroseconds(500+x);

舵机高电平范围是500us-2.5ms,所以这个函数延时应该是us,毫秒太多了。

不好意思,看错了。

谢谢。试过了,不行。

是不是滞环、控制死区的问题?