错误:预期'uint8_t *'但参数类型为'char *'

时间:2014-07-21 11:36:32

标签: c avr

我使用的是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++);
     }

2 个答案:

答案 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++);
 }