DSPIC30系列单片机程序中使用SPRINTF函数后下载报错

2020-02-08 09:13发布

请教大家,最近在做一个数据采集的小系统,单片机需要把采集到的浮点数转换成字符串输出,我使用SPRINTF()函数,程序编译能通过,可是编译成功后下载的时候老是报错,是VERIFY错误。

使用的是MPLAB7.6平台,C30编译器,已经在编译选项里设置了代码空间,堆栈等,都不能消除错误,请问是什么原因啊?

应该怎么解决?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
tiancaigao7
1楼-- · 2020-02-08 13:01
dsPIC貌似在printf这个方面确实有问题,需要重定义。没有仔细研究,不过MCP的官方给出了解释是证实了PIC不能向51那样简单的调用printf这类函数。
gaolf_2012
2楼-- · 2020-02-08 16:01
 精彩回答 2  元偷偷看……
ilovepinkfloyd
3楼-- · 2020-02-08 17:28
gaolf_2012 发表于 2012-5-6 19:40
详见16 位语言工具函数库p113,
3.13.1 编译器选项
某些编译器选项会影响标准I/O 的执行。为了提供格式I/O  ...

你好,我也看到了语言工具库中的这段,文中的 “使能 -msmart-io选项” “-fno-short-double” 这些选项在编译选项里面找不到,请问具体应该怎么修改?
gaolf_2012
4楼-- · 2020-02-08 22:25
不好意思,详细的设置我并没有应用过,我一般都是将浮点数放大10、100、1000倍后按照整形数输出。
ilovepinkfloyd
5楼-- · 2020-02-09 02:48
gaolf_2012 发表于 2012-5-7 11:57
不好意思,详细的设置我并没有应用过,我一般都是将浮点数放大10、100、1000倍后按照整形数输出。 ...

感谢,因为我要采集的量非常微弱,跨多也很大,有10-8,10-9次方,也有10-4次方的

用倍数放大的方法不好实现啊。

ilovepinkfloyd
6楼-- · 2020-02-09 06:57
tiancaigao7 发表于 2012-5-6 19:30
dsPIC貌似在printf这个方面确实有问题,需要重定义。没有仔细研究,不过MCP的官方给出了解释是证实了PIC不 ...

你好,请问有官方说明吗?

一周热门 更多>