我正在开发一个嵌入式系统(Cortex M3)。为了将设备上的一些数据发送到串行端口(显示在PC屏幕上),我使用了一些自己编写的函数,其中包括putchar()方法。
当我想发送整数或浮点数时,我使用sprintf()将它们转换为字符字符串,并将它们发送到串行端口。
现在,问题是我正在使用Keil uVision IDE,这是个限制版本,最大只支持32 KB。每次在不同的函数中调用sprintf()时,编译后的代码大小都会增加得很多,这让我困惑。我已经超过了32 KB,我想知道是否需要改变一些函数,并使用其他方法代替sprintf!
有什么线索吗?
当我想发送整数或浮点数时,我使用sprintf()将它们转换为字符字符串,并将它们发送到串行端口。
现在,问题是我正在使用Keil uVision IDE,这是个限制版本,最大只支持32 KB。每次在不同的函数中调用sprintf()时,编译后的代码大小都会增加得很多,这让我困惑。我已经超过了32 KB,我想知道是否需要改变一些函数,并使用其他方法代替sprintf!
有什么线索吗?
float
,因为它们的运行库组件在大多数情况下非常庞大且速度较慢。 - glglgl