标题:
16进制转10进制 在12864液晶上显示 遇到问题了
[打印本页]
作者:
jgmp
时间:
2016-1-14 10:52
标题:
16进制转10进制 在12864液晶上显示 遇到问题了
低字节 0xC1: 12*16+1=193
高字节 0x04: 0*16+4=4
(4*256+193)/10=121.7
我有一个程序函数可以把0xc1和0x04转换成10进制显示在12864液晶上显示。做不到(4*256+193)/10=121.7这一步。我把0x04c1用计算器直接得到1217.
Int_To_Str((ch5),time1);//ch5换成0x04c1能显示1217,如果ch5=0x04c1,就不行了。
Lcd_SetPos(0, 0);
i = 0;
while(time[ i] != '\0')
{
ch7 = time[ i++];
Lcd_WriteDat(ch7); //
}
求高手
作者:
zae234234
时间:
2016-1-15 21:48
你的程序,这些貌似不能解决问题吧?
作者:
jgmp
时间:
2016-1-16 08:03
void Int_To_Str(int x,char *Str)
{
int t;
char *Ptr,Buf[5];
int i = 0;
Ptr = Str;
if(x < 10) //
{
*Ptr ++ = '0';
*Ptr ++ = x+0x30;
}
else
{
while(x > 0)
{
t = x % 10;
x = x / 10;
Buf[i++] = t+0x30; //
}
i -- ;
for(;i >= 0;i --) //
{
*(Ptr++) = Buf[i];
}
}
*Ptr = '\0';
}
这个是转换函数
作者:
曾繁华
时间:
2016-1-16 17:04
是不是超过长度了?
作者:
1804018467
时间:
2016-1-17 11:17
数组算对了吗
作者:
jgmp
时间:
2016-1-18 07:33
曾繁华 发表于 2016-1-16 17:04
是不是超过长度了?
在函数直接输入0x04c1可以在12864上显示1217,用ch1=0x04c1,把ch1放在函数里就不行了
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1