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/TMS320LF2407A:两个16位寄存器定义的一个描述符

Guru**** 2390755 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/749311/ccs-tms320lf2407a-one-descriptor-for-two-16bit-registers-definition

器件型号:TMS320LF2407A

工具/软件:Code Composer Studio

在16位 LF2407A 上;

如果我需要 在两个16位寄存器上定义一个描述符(长整型或浮点型):

我需要写入什么内容?

当我键入 Core.h 文件时:extern volatile float *v;

在 Core.C 文件中:volatile float *V=(void*) 03FE;--我在外部存储器中的变量*V 上有一个16位描述符。

我在外部存储器中需要一个32位描述符、这是可行的吗?

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

    可以使用以下 typedef:
    typedef int int16_t;
    typedef unsigned int uint16_t;
    typedef long int32_t;
    typedef unsigned long uint32_t;

    要定义指向16位/32位寄存器的指针、请执行以下操作:
    volatile uint16_t *p1;
    volatile uint32_t *p2;

    希望这对您有所帮助!

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

    你好,Veena!
    CCS 3.3不理解.h 和.c 文件中的此指令
    仅限正确工作:
    在123.h 文件中
     #ifndef 123_h
    #define 123_h
    volatile float *P2=(void*) 0x03EF;
    #endif
    和:
    在123.c 文件中
    #include 123.h
    extern volatile float *p2;
    但之后、我只有一个用于*P2的寄存器16位。
    (笑声)
    如果我在用于内部存储器的 main.c 程序中尝试它、我有一个32位寄存器、来自两个16位合并寄存器

    ?:在外部16位内存中,我可以定义一个32位变量吗? 可能是?、或者为此、我需要拆分32位变量并保存两个16位变量、然后读取并合并两个16位变量、然后与他一起使用等。。。。

    我需要有关在 CCS 中定义变量的手册... 您可以帮助我找到 它吗?

    谢谢 Veena!

    我们度过了一个美好的周末!

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

    您说的 CCS 3.3不了解 int 和 long 类型吗?

    此致、
    Veena
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Veena!
    CCS 3.3了解 int 和 long 类型、但我不了解如何在结构中的外部16位存储器中定义变量 long 类型:
    在123.h 文件中:
     #ifndef 123_h
    #define 123_h
    volatile float *P2=(void*) 0x03EF;
    #endif、
    因为我只看到一个16位寄存器。 我需要两个!
    (显然是我需要的运气...)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    还可以!
    我这么做了!
    我忘记更改窗口底部的显示样式!
    I 十六进制16位和32位浮点阶梯不同...
    周末愉快!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Igor、

    很高兴知道您能够解决此问题。 感谢您在 E2E 上发帖!

    此致、

    Veena