This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/TMS320F28379D:CCS/TMS320F28379D

Guru**** 2049780 points
Other Parts Discussed in Thread: CCSTUDIO
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/785364/ccs-tms320f28379d-ccs-tms320f28379d

器件型号:TMS320F28379D
Thread 中讨论的其他器件:CCStudio

工具/软件:Code Composer Studio

您好!

 在整数值正常工作时、我无法使用从文本文件中读取的浮点数进行 printf。

我的原始工作是将浮动值读取 到数组中。  我编写的代码如下所示

#include
int main (空)


float c;//存储从文件读取的字符

int i、ff、ecgArray[1200];
文件*fp;
fp = fopen ("E:\\processor\\ecgData.txt"、"r");
字符缓冲[255];
浮点 j;

for (i=0;i<10;i++)

fgets (buff、255、(file*) fp);
printf ("%d:"、i+1);
printf ("%d:%s\n"、i+1、buff);
sscanf (buff、"%f"、&j);
FF = j*1000;
// ecgArray[i]=ff;
//ecgArray[i]= ecgArray[i]/1000;
printf (" j val=%d\n"、ff);

fclose (FP);

返回0;

我尝试将堆大小和堆栈大小更改为0x400。 我不熟悉使用 CCStudio。 请发送电子邮件至 help.e2e.ti.com/.../ecgData.txt

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    [引用 user="Gopika P"]

     在整数值正常工作时、我无法使用从文本文件中读取的浮点数进行 printf。

    我的原始工作是将浮动值读取 到数组中。  我编写的代码如下所示

    [/报价]

    您的代码看起来正常

    [引用 user="Gopika P">我尝试将堆大小和堆栈大小更改为0x400。 [/报价]

    如果您确实将堆栈和堆大小设置为0x400、则这应该足够:

    控制台中根本没有输出?

    谢谢

    Ki

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Ki、

    控制台显示的值高达4。 但该环路最多为10。

    有时、它显示多达6个值。 它从未显示10个值。

    我的实际情况是采用高达1200个值。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我每次都得到10个值。 无论我是运行代码还是源代码单步执行代码。

    如果您单步执行循环、您是否获得10个值?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Ki、

    是的、当我单步执行时、我得到的值一直到十。如果调试未完成、则控制台不会打印满。

    我真正的问题是检查天气所有值是否都分配到数组中(如果是浮点值)。 当我打印浮点值时、这是我的控制台。

    代码如下所示。

    ecgArray[i]=j;
    printf (" j val=%f\n",ecgArray[i]);

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的、我使用的是缩放版本的输入以避免浮点误差。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 USER="Gopika P"]是的,当我执行 Step Over 操作时,我得到的值一直到十。如果调试未完成,则控制台不会打印满。

    无论我是单步执行还是仅运行、我都会得到全部10个值。 您发送给我的代码示例是您测试的整个代码吗? 还是只是一个片段/示例? 您能否提供可执行文件?

    谢谢

    Ki

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Ki、

    #include
    int main (空)


    float c、ecgArray[1200];//存储从文件读取的字符

    int i、ff;
    文件*fp;
    fp = fopen ("E:\\processor\\ecgData.txt"、"r");
    字符缓冲[255];
    浮点 j;

    for (i=0;i<10;i++)

    fgets (buff、255、(file*) fp);
    printf ("%d:"、i+1);
    printf ("%d:%s\n"、i+1、buff);
    sscanf (buff、"%f"、&j);

    FF = j*1000;

    ecgArray[i]=j;

    printf (" j val=%f\n",ecgArray[i]);

    fclose (FP);

    返回0;


  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢。 但我仍然无法重现此问题。 所有 printf 语句都出现在控制台中。 请提供完整的项目-我可以将其导入到我的 CCS 工作区中。 还提供源文件、内置*。out 文件和 ecgData.txt 文件。

    谢谢
    Ki
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Ki、

    我正在附加程序中使用的文本文件。主文件与我在上面发送的代码相同。没有更改是 made.e2e.ti.com/.../8880.ecgData.txt

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我还需要项目元文件和您构建的 outfile。 我想查看使用的构建选项、并尝试使用您的可执行文件进行复制。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    我没有听到您的反馈,因此这个问题已经解决了。 如果您希望继续讨论、请在下面发布包含更新的回复(或创建新主题帖)。

    谢谢、
    Ki
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    解决了问题。 将所有变量更改为全局变量。