请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:LAUNCHXL-F28069M 工具/软件:Code Composer Studio
大家好、
我应该将整数参数转换为 ASCII、并通过 SCIA 发送、但我想内存有一些问题。 我测试了一个示例、以检查它是否正常工作。
#include
long abc =15; char qdataA[16]="0";
if (sendParameterToPc = 1) { ltoa (abc、qdataA); }
因此结果如下所示:
当我使用“Step Inta (F5)”时,代码卡在这里:
它是 memcpy.c 文件。
/ /* memcpy */ * */ /*版权所有(c) 1993 Texas Instruments Incorporated */ /* http://www.ti.com/ */ * 如果 满足以下条件*/*/*,则允许以源代码和二进制形式重新分发和使用,无论是否进行了*/*修改: */ * */ * 重新分发源代码必须保留上述版权*//* 声明、此条件列表和以下免责声明。 */ * */ * 二进制形式的再发行必须复制上述版权*/ * 请注意,本条件列表和以下免责声明位于*/*中 随*/ /*提供的文档和/或其他材料 分配。 */ * */ * 德州仪器公司的名称和名称均不是*/* 其贡献者可用于认可或推广产品*//* 源自此软件,未经过特别事先编写*/ * 权限。 */ * /* 本软件由版权所有者和贡献者提供。///* "按原样"提供, 且不承认任何明示或暗示的保证,包括但不限于对适销性和对*/*特定用途适用性的暗示保证。 在任何情况下、对于 任何直接、间接、偶然、* //*特殊、模范、 或间接损害(包括但不 限于*///*采购替代产品或服务;丧失使用、*/ /*数据或利润; 或业务中断)、但出于 任何*//*责任理论、无论是合同、严格责任还是侵权行为*///*(包括疏忽或其他原因)、即使 被告知可能会发生此类损坏、也是出于任何原因。 */ * */ ********* /#include void *memcpy (void *to、const void *from、size_t n) { 将寄存器 char * RTO =(char *)更改为; 从以下位置删除了寄存器 char * rffrom =(char *); 寄存器 unsigned int rn; 寄存器 unsigned int nn =(unsigned int) n; /********* / /*复制到前64K。 最后比较字符数*/ /*以 n 大小移动。如果它们相等,则返回。 否则继续*/ /*复制其余字符。 * /********* / 对于(rn = 0;rn < nn;rn++)* RTO +=* rffrom ++; if (nn == n) return (to); /********* / /*使用嵌套循环编写大小大于64K 的 memcpy 以使用*/ // BANZ 函数。 * /********* / { 寄存器 unsigned int upper =(unsigned int)(n >> 16); 注册 unsigned int tmp; 对于(tmp = 0;tmp <上部;tmp++) { 对于(rn = 0;rn < 65535;rn++) *RTO++=*rffrom ++; *RTO++=*rffrom ++; } 返回(到); }
文件包括在这里:
sprintf 也是如此(使用#include )、因为它会占用较大的内存空间。 ltoa 可能仍然很大、但这不是浮点值、只是整数(或 long、因为 stdlib.h 显示"_code_access int ltoa (long val、char * buffer);")。
我没有内存使用方面的资格。 我应该怎么做?
谢谢你。


