文本通知小数问题
void NotifyText(uint16 screen_id, uint16 control_id, uint8 *str){
if(screen_id == 8)
{
float Val = 0;
uint32 value = 0;
sscanf(str,"%ld",&value);
Val = atof(str);
if(control_id == 1)
{
AT24CXX_WriteOneByte(0, Val);
}
}
SetTextFloat(8,1,AT24CXX_ReadOneByte(0),0,1);
}
这样能显示小数吗?为啥我的老是显示不了小数。
例程里面有设置单精度小数的函数额,直接调用看看 If后要接end 发表于 2022-4-19 14:53
例程里面有设置单精度小数的函数额,直接调用看看
SetTextFloat(8,1,AT24CXX_ReadOneByte(0),1,1);这个就是单精度浮点数,咋小数部分显示不出来。后面会变0. 发出来的指令获取一下看看是不是正确的,然后的话看看是不是文本控件的宽度太小了导致没显示全 If后要接end 发表于 2022-4-19 15:24
发出来的指令获取一下看看是不是正确的,然后的话看看是不是文本控件的宽度太小了导致没显示全 ...
文本控件大小应该没有问题,我已经能看到小数点后一位的值,只不过老是是0,获取到的指令我用电脑跟显示屏联调的话看了一下也没有问题。我看文本控件上说:如果文本内容是浮点值,需要在此函数下重新把下发的字符串转回浮点值。这个是不是我要自己在函数下转一下? 天下无贼 发表于 2022-4-19 15:41
文本控件大小应该没有问题,我已经能看到小数点后一位的值,只不过老是是0,获取到的指令我用电脑跟显示 ...
这个是屏幕将指令下发到MCU的 或者你用SetTextValue这个函数看看
页:
[1]