请教一个关于变量赋值的问题!
请教各位大神,我是用了论坛上的12864程序,遇到如下问题:
如果show1[]=“test...”那么在12864上就可以正常显示,
如果show1[]={ hui } 那么12864上显示的就是乱码,
hui里面存储的数据是“23”整形数值;
我发现只要给show1 的数值是以变量形式给予的 都会出现问题,
要是直接给show1 赋值就没有问题,哪位大神帮忙看看啊! 去看C语言基础教材,字符与字符串
loop()
{
DHT1.read(DHT1PIN);
float hui=DHT11.tempareture;//这里可用 char hui=DHT11.tempareture;
LCDA.CLEAR();
delay(100);
LCDA.DisplayString(2,1,hui,AR_AR_SIZE(hui));;
LCDA.CLEAR();
}
//最后默念三句,深藏功与名:不要崇拜哥,哥只是一个谜 关键还是字符和字符串的问题!我之前也遇到过
不行啊亲
貌似hui必须要是数组才可以,LCDA.DisplayString(3,1,hui,AR_SIZE(hui)) 邓维安 发表于 2012-10-12 08:32 static/image/common/back.gif
loop()
{
DHT1.read(DHT1PIN);
不行啊亲
貌似hui必须要是数组才可以,LCDA.DisplayString(3,1,hui,AR_SIZE(hui)) :lol ascii码里面23是个控制符
LZ你应该把数值转成字符串再输出
已经转换了啊,可还是不行,谁能帮忙看看阿! 没看见哪里转换了
LZ你应该用sprintf之类的函数 楼主,你对数据类型完全不清楚啊
实型数,字符,字符数组混着赋值,怎么可能通过呢 hui92984 发表于 2012-10-12 11:16 static/image/common/back.gif
不行啊亲
貌似hui必须要是数组才可以,LCDA.DisplayString(3,1,hui,AR_SIZE(hui))
http://www.geek-workshop.com/forum.php?mod=viewthread&tid=1649 看一下上面那个文章中这几句很重要,
char str; //定义温度值存储数组,4位,其中3位为数字,1位为小数点
double temp =0; //定义中间变量,用于将获取的float型温度值转变为unsigned char数组
dtostrf(temp,4,2,str);//将获取的数值转换为字符型数组
LCDA.DisplayString(3,(i-6)*3,(unsigned char *)str,sizeof(str)); 整形的变量怎么可以赋值给支付行的数组呢?楼主去看看C语言教材吧!
页:
[1]