修改方式: 在项目根目录创建mbed_app.json
{
"target_overrides": {
"*": {
"target.printf_lib": "std"
}
}
}
将target.printf_lib的值覆盖为std(即不使用minimal-printf,使用标准库)
或者
{
"target_overrides": {
"*": {
"target.printf_lib": "minimal-printf",
"platform.minimal-printf-enable-floating-point": true,
"platform.minimal-printf-set-floating-point-max-decimals": 6,
"platform.minimal-printf-enable-64-bit": false
}
}
}
启用minimal-printf对浮点数输出的功能。
原因就是MBED OS 6 默认使用minimal-printf
minimal-printf是为了减少资源占用,提供的替代printf的库。支持以下的格式化输出,其中浮点相关是默认disabled:
- %d: signed integer [h, hh, (none), l, ll, z, j, t].
- %i: signed integer [h, hh, (none), l, ll, z, j, t].
- %u: unsigned integer [h, hh, (none), l, ll, z, j, t].
- %x: unsigned integer [h, hh, (none), l, ll, z, j, t], printed as hexadecimal number (e.g., ff).
- %X: unsigned integer [h, hh, (none), l, ll, z, j, t], printed as hexadecimal number (e.g., FF).
- %f: floating point (disabled by default).
- %F: floating point (disabled by default, treated as %f).
- %g: floating point (disabled by default, treated as %f).
- %G: floating point (disabled by default, treated as %f).
- %c: character.
- %s: string.
- %p: pointer (e.g. 0x00123456).
本文介绍如何在mbedOS项目中修改printf库配置,包括使用标准库或启用minimal-printf的浮点数输出功能。提供了mbed_app.json文件的具体配置示例。
6067

被折叠的 条评论
为什么被折叠?



