../UserDriver/lcd.c(552): error: too few arguments to function call, expected 6, have 3 LCD_Write_Symbol(14,14, (uint8_t*)str); // <D4><DA>LCD<C6><C1>幕<C9><CF>写<C8><EB><CA><E4><C8><EB><CA><FD><BE><DD> ~~~~~~~~~~~~~~~~ ^ ../UserDriver/lcd.c(291): note: 'LCD_Write_Symbol' declared here void LCD_Write_Symbol(uint16_t x,uint16_t y,uint8_t *buf,uint16_t hsize,uint16_t vsize,uint16_t color) ^ 1 error generated.
时间: 2023-11-09 10:06:47 浏览: 65
这是一个函数参数数量不匹配的错误。根据错误提示,`LCD_Write_Symbol` 函数在调用时只传递了3个参数,而该函数需要6个参数。因此编译器会报错。你需要检查一下调用该函数的代码,确保传递的参数数量和类型与函数定义匹配。在这种情况下,你需要给 `LCD_Write_Symbol` 函数传递缺失的3个参数:hsize、vsize、color。例如:
```C
LCD_Write_Symbol(14, 14, (uint8_t*)str, 16, 16, 0xFFFF); // 传递6个参数
```
这里的hsize和vsize表示要写入的符号的水平和垂直大小,color表示要写入的符号颜色。你需要根据实际情况传递正确的参数。
相关问题
../UserDriver/protocol.c(64): error: unexpected type name 'protocol_package_t': expected expression ret = led_device_control(protocol_package_t *pk); ^ ../UserDriver/protocol.c(64): error: use of undeclared identifier 'pk' ret = led_device_control(protocol_package_t *pk); ^ 2 errors generated.
这个错误提示是因为在第64行中,你调用了一个函数led_device_control(),但是在函数参数protocol_package_t *pk之前,没有声明这个类型。
你需要在文件头部或者在这个函数之前加入protocol_package_t的定义,例如:
```
typedef struct {
// your protocol package fields
} protocol_package_t;
int led_device_control(protocol_package_t *pk) {
// your function implementation
}
```
这样就可以解决这个错误了。
../../../st/stm32/Stm32F0Project (2) -5/Stm32F0Project/UserDriver/delay.c(1): warning: In file included from... ../../../st/stm32/Stm32F0Project (2) -5/Stm32F0Project/UserDriver/delay.h(3): error: 'sys.h' file not found #include "sys.h" ^~~~~~~
这是一个编译错误,提示编译器找不到 sys.h 文件。你需要检查以下几点:
1. 确认 sys.h 文件是否存在于正确的路径下,即 UserDriver 文件夹中。
2. 确认文件名是否正确,包括大小写。
3. 如果 sys.h 文件依赖于其他头文件,也需要检查这些头文件是否存在以及路径是否正确。
4. 确认编译器的搜索路径是否包含了 sys.h 文件所在的文件夹。
解决这个问题的方法是找到并修复文件路径或者添加正确的编译器搜索路径。
阅读全文