fm993 发表于 2011-4-21 00:51:16

12864 写字符串函数出错误,求解

这个是12864 写字符串的函数,高手帮忙看看,错在哪里? 给点意见,或者指导下其他的方法
void LCD(unsigned char addr,unsigned char *STR)
{
          unsigned char ii=0,x,y;
          x=addr/10;
          y=addr%10;       
          write_cmd(LCD_a);//12864 写入显示地址
          for(ii=0;STR!='\0';ii++)
                     write_dat(STR);
                               
          _delay_ms(5);       
}

AVRGCC编译的提示
../DEVICE.C:27: error: invalid conversion from 'const char*' to 'unsigned char*'
../DEVICE.C:27: error:   initializing argument 2 of 'void LCD(unsigned char, unsigned char*)'


谢谢啦

pcwhy 发表于 2011-4-21 01:18:28

1、直接把unsigned char*改为char*

fm993 发表于 2011-4-21 01:25:25

把unsigned char*改为char*后
编译错误提示为:


../lcd128.c:194: error: conflicting types for 'LCD'
../lcd128.h:10: error: previous declaration of 'LCD' was here
make: *** Error 1
Build failed with 2 errors and 0 warnings...

danielmi 发表于 2011-4-21 08:18:45

*.h文件里面还没有改过来嘛???

jingwaner 发表于 2011-4-21 08:45:38

/**************在X(行)Y(列)显示字符串********************/
void LCD_Display_String( uchar x,uchar y,uchar *str )
{
    LCD_Set_XY(x,y);         //先确定起始行和列
        while (*str!='\0')
      {
      LCD_Write_DATA(*str);
          str++;
                Delay_ms(1);              //写入字符串
          }
}

STR是指针,问题出自你的STR

fm993 发表于 2011-4-22 13:04:34

回复【4楼】jingwaner
-----------------------------------------------------------------------
好的,我去试一试吧,谢谢啦

kuanglf 发表于 2013-6-6 00:04:20

学习记号备用
页: [1]
查看完整版本: 12864 写字符串函数出错误,求解