C函数有什么问题?

C what is wrong with function?

你好,我的 4servos 控制功能有问题。我想让这段代码起作用,但它不起作用。

volatile float servo1;

            variable=  uart_getchar();
            _delay_ms(100);
            variable=variable/10;
            servo1=variable;
            sprintf(bufor,"Servo_1= %4.1f\n",servo1);
            uart_puts(bufor);

当这段代码不起作用时,一切正常,伺服工作正常。问题是当我这样做时:

void get(float Servo, char Number)
{
            variable=  uart_getchar();
            _delay_ms(100);
            variable=variable/10;
            Servo=variable;
            sprintf(bufor,"Serwo_%c= %4.1f\n",Number,Servo);
            uart_puts(bufor);
}

当我打电话时 get(servo1,'1');servo 一直呆在同一个地方..知道哪里出了问题吗??

如果要更改传递给函数的变量,必须使用 pointers

基本上是这样使用的:

void f(int* x){
  *x = 5;
}

int main() {
  int y = 7;
  f(&y);
  printf("%i\n", y);
  return 0;
}

简而言之,&获取变量的地址,*获取地址处的值