|
最近在VSCODE+GCC环境下编译一段代码,目标芯片为F4系列。使用snprintf函数时,发现一个特别现象:启用nano C库(即链接选项加上-specs=nano.specs)时,无法格式为float型数据,格式化结果皆为0x00;禁用nano C库(即链接选项加上-specs=nosys.specs )时,就可以了,但是bin文件暴增30多KB。
请教坛友,如何做到在使用nano C库的时候,可以正常使用snprintf函数格式化float型数据?
uint8_t tempMxxBuf[32];
float tempvip;
int8_t testvar;
tempvip = (float)110.5;
testvar = snprintf(tempMxxBuf,sizeof(tempMxxBuf),"%4.1f",tempvip);
上述代码,正常格式化后,tempMxxBuf = {0x31,0x31,0x30,0x2e,0x35};testvar = 5;
格式化失败后,tempMxxBuf = {0x00};testvar = 0x90; |
阿莫论坛20周年了!感谢大家的支持与爱护!!
一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
|