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.

[参考译文] TMS320F280049C:280049 CLA 编译警告

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/993852/tms320f280049c-280049-cla-compile-warn

器件型号:TMS320F280049C

如何解决此警告? 谢谢你  

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

    如下所示添加新的行代码。 希望这对您有所帮助。

    #pragma diag_suppress=770

    Cla1Regs.MVECT1 =(uint16_t)和 Cla1Task1;

    (笑声)

    (笑声)

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

    您好!  

    出于某种原因、我无法重现此警告。 可能是  因为使用了不同的编译器版本或编译器标志。

    在分配 CLA 任务时、这不是问题。 产生该误差的原因是指针(通常为32位)转换为16位整数。  CLA 地址 范围 为 16 位、这些函数始终在16位边界内的 LSRAM 中分配。

    您可以通过添加 pragma  diag_suppress 并使用 diag_warning pragma 重新启用该错误

    #pragma  diag_suppress=770
    Cla1Regs.MVECT1 =(uint16_t)(&Cla1Task1);
    Cla1Regs.MVECT2 =(uint16_t)(&Cla1Task2);
    Cla1Regs.MVECT3 =(uint16_t)(&Cla1Task3);
    Cla1Regs.MVECT4 =(uint16_t)(&Cla1Task4);
    Cla1Regs.MVECT5 =(uint16_t)(&Cla1Task5);
    Cla1Regs.MVECT6 =(uint16_t)(&Cla1Task6);
    Cla1Regs.MVECT7 =(uint16_t)(&Cla1Task7);
    Cla1Regs.MVECT8 =(uint16_t)(&Cla1Task8);
    #pragma  diag_warning=770
    此致、
    Veena