main.c(33): error: #167: argument of type "char *" is incompatible with parameter of type "u16" LCD_ShowString(0,0,"group:"); //显示组号 main.c(33): error: #165: too few arguments in function call LCD_ShowString(0,0,"group:"); //显示组号
时间: 2023-06-15 21:06:24 浏览: 384
这个错误是因为 `LCD_ShowString` 函数的参数类型与你传入的参数类型不匹配。根据错误信息,函数需要的是 `u16` 类型的参数,而你传入的是 `char*` 类型的参数。
你需要将字符串转换为 `u16` 类型,并将其作为参数传递给 `LCD_ShowString` 函数。你可以使用 `unicode` 函数将字符串转换为 `u16` 类型,如下所示:
```c
LCD_ShowString(0, 0, unicode("group:")); // 显示组号
```
或者,你可以使用 `u"字符串"` 的形式定义一个 `u16` 类型的字符串,如下所示:
```c
LCD_ShowString(0, 0, u"group:"); // 显示组号
```
同时,你还需要检查 `LCD_ShowString` 函数的定义,确保你传递的参数数量是正确的,否则也会导致这个错误的发生。
相关问题
main.c(22): error: #167: argument of type "char" is incompatible with parameter of type "char *"
这个错误是因为你将一个字符(char)类型的参数传递给了一个需要字符指针(char *)类型参数的函数。字符(char)类型只能存储单个字符,而字符指针(char *)类型可以指向一个字符串。
要解决这个错误,你需要确保传递给函数的参数是一个字符指针(char *)类型,而不是字符(char)类型。你可以使用字符数组或者动态分配的字符指针来传递字符串。
例如,如果你有一个函数声明为`void myFunction(char *str)`,你需要传递一个字符指针作为参数,而不是一个单独的字符。
如果你只有一个字符而不是字符串,你可以将其放入一个字符数组中,然后将数组的地址作为参数传递给函数。
请检查你的代码,确保正确传递参数类型,并将字符(char)类型转换为字符指针(char *)类型。
main.c(95): error: #167: argument of type "u8 **" is incompatible with parameter of type "char *restrict"
这个错误是因为参数类型不匹配。你的函数可能期望传入一个 `char *restrict` 类型的指针,但你传入了一个 `u8 **` 类型的指针。这两种类型并不兼容,因为 `char *restrict` 类型的指针是指向字符数组的指针,而 `u8 **` 类型的指针是指向指向 `u8` 类型的指针的指针。
要解决这个错误,你需要将参数类型与函数的期望类型相匹配。你可以将函数的参数改为 `u8 *restrict *` 类型,或者将你传递的参数转换为 `char *restrict` 类型。具体取决于你的代码实现和需求。