AVR单片机程序,这两句找不到哪里有问题,用ICCAVR编的
AVR单片机程序,这两句找不到哪里有问题,用ICCAVR编的,(1)voidLCD_Write_String(ucharx,uchary,uchar*s),总提示我这句有...
AVR单片机程序,这两句找不到哪里有问题,用ICCAVR编的,(1)void LCD_Write_String(uchar x,uchar y,uchar *s),总提示我这句有问题,有一大堆问题还找不到在哪儿,还有这句(2)void LCD_Display(uint i,double angle),我这要把这句设成注释,句(1)就没有问题了,但是这句只要存在,前一句就有问题,不知道怎么回事。
/*------------------------------------------------
写入字符串函数
------------------------------------------------*/
void LCD_Write_String(uchar x,uchar y,uchar *s) //句(1)
{
if (y == 0)
{
LCD_WR_Com(0x80 + x); //表示第一行
}
else
{
LCD_WR_Com(0xC0 + x); //表示第二行
}
while (*s)
{
LCD_WR_Data( *s);
s ++;
}
}
/*------------------------------------------------
LCD显示函数
------------------------------------------------*/
void LCD_Display(uint i,double angle) //句(2)
{ int m,n,c,d,e,an;
an=(int)(angle*1000);
m=an%10;
LCD_Write_Char(8,i,C[m]);
delay(245);
delay(245);
an=an/10;
n=an%10;
LCD_Write_Char(7,i,C[n]);
delay(245);
delay(245);
an=an/10;
c=an%10;
LCD_Write_Char(6,i,C[c]);
delay(245);
delay(245);
an=an/10;
d=an%10;
LCD_Write_Char(4,i,C[d]);
delay(245);
delay(245);
e=an/10;
LCD_Write_Char(3,i,C[e]);
delay(245);
delay(245);
LCD_Write_Char(5,i,'.');
} 展开
/*------------------------------------------------
写入字符串函数
------------------------------------------------*/
void LCD_Write_String(uchar x,uchar y,uchar *s) //句(1)
{
if (y == 0)
{
LCD_WR_Com(0x80 + x); //表示第一行
}
else
{
LCD_WR_Com(0xC0 + x); //表示第二行
}
while (*s)
{
LCD_WR_Data( *s);
s ++;
}
}
/*------------------------------------------------
LCD显示函数
------------------------------------------------*/
void LCD_Display(uint i,double angle) //句(2)
{ int m,n,c,d,e,an;
an=(int)(angle*1000);
m=an%10;
LCD_Write_Char(8,i,C[m]);
delay(245);
delay(245);
an=an/10;
n=an%10;
LCD_Write_Char(7,i,C[n]);
delay(245);
delay(245);
an=an/10;
c=an%10;
LCD_Write_Char(6,i,C[c]);
delay(245);
delay(245);
an=an/10;
d=an%10;
LCD_Write_Char(4,i,C[d]);
delay(245);
delay(245);
e=an/10;
LCD_Write_Char(3,i,C[e]);
delay(245);
delay(245);
LCD_Write_Char(5,i,'.');
} 展开
展开全部
应该是LCD_Write_Char(8,i,C[m]);里的形参类型问题,看你的void LCD_Write_String(uchar x,uchar y,uchar *s)函数可以猜出来i应该是uchar类型的,但是void LCD_Display(uint i,double angle)里边i定义的却是int型,所以会报警告。
更多追问追答
追问
为什么这段程序放在keil里就没有问题呢,但是放在iccavr里就有问题,那这个要怎么改呢?加一下q q聊怎么样
追答
void LCD_Display(uint i,double angle)里边i定义成char就应该可以了吧,你试试,我电脑没装ICCAVR没法测试。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询