User\OLED.c(377): error: #140: too many arguments in function call
时间: 2023-11-27 14:53:57 浏览: 364
这个错误通常发生在函数调用时传递的参数数量与函数定义时声明的参数数量不匹配的情况下。请检查您在调用该函数时是否多传递了参数,或者函数定义是否正确声明了参数数量。
例如,如果函数定义如下:
```
void foo(int a, int b) {
// some code
}
```
那么在调用该函数时应该传递两个参数,如下所示:
```
foo(1, 2);
```
如果你传递了多于或少于两个参数,则会出现上述错误。请检查您的代码并确保所有函数调用都有正确的参数数量。
相关问题
Source\demo.c(209): error: #140: too many arguments in function call BTIM_ClearIntFlag(BTIM0,TIM_MATCH_1_INT);
这个错误信息 "Source\demo.c(209): error: #140: too many arguments in function call" 意味着你在`BTIM_ClearIntFlag`函数的调用中传递了过多的参数。`BTIM_ClearIntFlag`可能是某个特定BTimer(比如BTIM0)清中断标志的函数,它期望的参数列表可能只有TIM_MATCH_1_INT这一项,而你提供的参数列表超过了它的预期。
函数原型看起来应该是这样的:
```c
void BTIM_ClearIntFlag(BTIM_TypeDef *BTIM Instance, uint32_t Flag);
```
其中 `Instance` 是指定了的定时器实例,`Flag` 是要清除的中断标志。你传入了`BTIM0`和`TIM_MATCH_1_INT`两个参数,但在函数签名中只需要`Flag`一个。
解决这个问题的方法是检查你的代码,在调用`BTIM_ClearIntFlag`时只传递一个表示中断标志常量的参数,如这样:
```c
BTIM_ClearIntFlag(BTIM0, TIM_MATCH_1_INT);
```
User\main.c(82): error: #165: too few arguments in function call
这个错误提示说明你在调用一个函数时传递的参数数量不正确,导致编译器无法编译通过。
通常情况下,函数的声明和定义中都会指定参数的数量和类型,如果在调用函数时传递的参数数量和类型与声明或定义不一致,就会出现这个错误。
请检查一下你调用的函数以及该函数的声明或定义,确认参数数量和类型是否匹配。如果有问题,需要修改调用函数的代码,确保传递的参数数量和类型与函数要求一致。
阅读全文