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.

[参考译文] TMS320F28027:浮点数字和移位问题

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1119098/tms320f28027-floating-point-number-and-shift-issue

器件型号:TMS320F28027

大家好、

以下是客户提出的问题、可能需要您的帮助:

浮点 M_FACTOR;

uint32_t PWM_Duty_tmp;

1) 1)由于 M_factor 是浮点数据、而 PWM_Duty_tmp 是整数、因此涉及的操作如下:

a.  PWM_Duty_tmp= M_faction*256;

b.  PWM_Duty_tmp= ;因子<8 μ m

哪一个速度更快?

2) 2) M_factor 是否会在移位期间丢失数据(前提是 PWM_Duty_tmp= M_facte*256正确)?

3) 3)如果可以移动浮点数、指令是什么?

您可以帮助检查此案例吗? 谢谢。

此致、

樱桃

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [~引语 userid="496057" URL"/support/microset/C2000-microset-group/C2000/f/C2000-microset-forum/1119098/tms320f28027-floating-point-number-and-shift-issues"]哪一种速度更快?

    左移速度更快。   有关此类问题、请参阅 C28x 指令集和 C28x 扩展指令集文档。 此外、您还可以编写测试程序并检查反汇编、因为有时这些周期计数会因优化级别、处理器设置等而异。但是、从 RAM 中的变量将值移动到 ACC 会产生开销。 因此、在此基础上增加1个周期。  

    [~ userid="496057" url="支持/微控制器/C2000-microset-group/C2000/f/C2000-microset-forum/1119098/tms320f28027-floating-point-number-and-shift-issue"]移动过程中 M_factor 是否会丢失数据(前提是 PWM_Duty_tmp= M_factor 256*is?]

    如果 M_facte*256正确,则不应丢失数据

    [引用 userid="496057" URL"~/support/microset/C2000-microset-group/C2000/f/C2000-microset-forum/1119098/tms320f28027-floating-point-number-and-shift-issue"] 3)如果可以移动浮点编号,说明是什么?

    它将使用相同的32位指令、LSL ACC、#16位

    -Shantanu