我使用的是Avr Studio 5,如何解决此错误:
Error 6 expected 'uint8_t *' but argument is of type 'char *' C:\Users\RC\Documents\AVRStudio\lcd\lcd\lcd.c 65 6 lcd
相关代码:
void Lcd_4bit_String(uint8_t *Lcd_Str)
{
while(Lcd_Str != '\0')
Lcd_4bit_Data(*Lcd_Str++);
}
答案 0 :(得分:2)
最简单的方法是在调用时简单地转换参数:
char myMessage[] = "Hello world";
Lcd_4bit_String((uint8_t *)myMessage);
答案 1 :(得分:1)
根据您的错误,函数期望uint8_t *
,但您正在传递char *
(即字符串)。
在将字符串传递给函数之前,请将其转换为uint8_t *
并传递它。那么这个功能就可以了。
例如:
Lcd_4bit_String((uint8_t *)string); // call your function like this.
void Lcd_4bit_String(uint8_t *Lcd_Str)
{
while(Lcd_Str != '\0')
Lcd_4bit_Data(*Lcd_Str++);
}