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.

[参考译文] 编译器/TMS320F28235:将 TMS320F28235与 TI v18.1.0.LTS 和 CCS v7.3.0.00019搭配使用时出现数学运算错误

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/875179/compiler-tms320f28235-math-operation-error-using-tms320f28235-with-ti-v18-1-6-lts-and-ccs-v7-3-0-00019

器件型号:TMS320F28235

工具/软件:TI C/C++编译器

您好!

我发现了使用以下函数进行数学运算时出现的问题:

 TMS320F28235

TI v18.1.0.LTS 编译器(优化4/5)

CCS v7.3.0.00019  

让我提供一个示例代码:

长测试1;

INT 测试2;

… //变量初始化

test2=15;

test1 =(Test2*10)/3;  // Test1=5!!!!!!!! 错误!!!

我有测试替代代码、如下所示:

test1 =(Test2*100)/30;  // Test1=5!!!!!!!! 错误!!!

test1 = (Test2*101)/30;  // Test1=50!!!!!!!! 正确  

test1 = (Test2*10L)/3;  // Test1=50!!!!!!!! 正确 地强制执行 Sectionon 操作、使其看起来正常工作。

test1 = ((long) Test2*10)/3;  // Test1=50!!!!!!!! 正确  地强制第一个操作持续时间、使其看起来正常工作。

如果我将打印分为两个步骤:

test1 =(Test2*10);

test1 = Test1/3;  // Test1 = 50!!!!!!!! 正确

 因此、我不确定是否已经了解了数学运算问题。

其他测试. 定义  

 

长测试1;

unsigned int Test2;

…   … //变量初始化

test2=15;

test1 =(Test2*10)/3;  // Test1=50!!!!!!!! 正确!!!

那么、这两种情况之间会发生什么变化? test2定义 int 或 unsigned int..

请为我提供支持!!

此致

Massimo

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

    很遗憾、我无法重现问题。  对于问题表达式的源文件、请按照文章 如何提交编译器测试用例中的说明进行操作。  如果不能清楚哪个表达式有问题,请在此处添加注释/*问题*/

    谢谢、此致、

    乔治

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

    感谢您提交测试用例的私人消息。  我能够重现问题。  我提交了 EXT_EP-9621条目 以进行调查。  欢迎您通过 此链接搜索它来跟踪它

    谢谢、此致、

    乔治

x 出现错误。请重试或与管理员联系。