Arduino中float类型转unsigned char*的问题
正在学习Arduino,遇到一个问题,我打算在LCD12864中显示DS18B20采集到得温度,但是采集到的温度是float类型数值,而LCD显示时需要使用unsigned char*数组,应该如何转换呢?看到语言参考里只有Char()函数 1、18B20得到的数据可以是整数、小数分开处理的,无需转换成float
2、真的要用到浮点数,可以用这个函数:dtostrf(floatVar, minStringWidthIncDecimalPoint, numVarsAfterDecimal, charBuf);
具体用法google一下 飞翔的红猪 发表于 2012-8-8 10:06 static/image/common/back.gif
1、18B20得到的数据可以是整数、小数分开处理的,无需转换成float
2、真的要用到浮点数,可以用这个函数: ...
有个问题,dtostrf的第4个参数charBuf的数据类型是char*,LCD12864的DisplayString函数的参数是unsigned char*,如果直接互相使用参数会报错。这里可以还涉及类型转换。。。
,
本帖最后由 greenfort 于 2012-8-9 22:53 编辑arduino-tinker 发表于 2012-8-8 17:04 static/image/common/back.gif
有个问题,dtostrf的第4个参数charBuf的数据类型是char*,LCD12864的DisplayString函数的参数是unsigned...
是的,我是用这个函数以后,在编译时报错,就是这个Char*问题,那么Char*到unsigned Char*如何转换呢?使用(unsigned char*)转换报错,说无效转换啊 解决了,转换的时候用(unsigned char *)str 解决,str位char型数组 能提供个完整的代码看看吗,谢谢! dtostrf是gcc库函数,非标准函数
页:
[1]