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;
}
简而言之,&
获取变量的地址,*
获取地址处的值
你好,我的 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;
}
简而言之,&
获取变量的地址,*
获取地址处的值