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.

[参考译文] TMS320F280039C:当我启用 FIFO 时、SCIRXBUF 和 SCITXBUF 寄存器具有值。

Guru**** 2466550 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1488433/tms320f280039c-when-i-enable-fifo-the-scirxbuf-and-scitxbuf-registers-have-values

器件型号:TMS320F280039C

工具与软件:

您好、TI 工程师。

   当我使用280039 SCI 模块并使用 sci_ex3_echoback.c 中的初始化过程时、我发现当我运行 SCI_enableFIFO ()函数时、SCIRXBUF 值为0xC01A、SCITXBUF 值为0x8、SCIRxBUF 值为0x8。 我还可以通过两个变量读取这两个寄存器的值、但此时我没有通过 TXD 引脚发送数据、因此我想问初始值是如何产生的?

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

    您好!

    首先、请注意、不建议通过表达式窗口访问 SCIRXBUF。 不过、TI 建议使用 SCIRXEMU 寄存器(偏移量0x6)、因为直接访问 SCIRXBUF 寄存器会产生清除 RXRDY 标志的副作用。 同样需要注意的是、RXBUF 值0xC01A 表示 FE/PE 标志已经被设定、而缓冲区中的内容是0x1A。

    现在,我注意到您 运行 SCI_enableModule ()之前看到了此垃圾数据,这令人困惑。 在运行该代码之前、您正在进行什么类型的复位? 一目了然、这是因为在运行代码之前寄存器没有归零。

    此致、
    Jason Osborn

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

    尊敬的 Jason:

    感谢您的意见。

    是的,我发现在运行 SCI_enableFIFO (), RXBUF 和 TXBUF 寄存器有一些值,此时 RXENA 没有设置1,从 SCI 模块方框图,这个值是否来自波特率 MSB/LSB 寄存器?至于 SCITXBUF,我看不到图表的源,所以我也很好奇数据来自哪里。 我尝试配置 SCI 模块、然后设置 GPIO、此时会有数据、并且每次数据都是相同的。

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

    据我所知、我目前看不出有任何理由将这些数据放在那里。  在运行该代码之前、您正在进行什么类型的复位? 一目了然、这是因为在运行代码之前寄存器没有归零。

    此致、
    Jason Osborn

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

    尊敬的 Jason:

    我不确定我订购了哪些复位操作、我运行了 sci_ex3_echoback 例程、因为我使用的是晶振频率为10M 的板、所以调整了一些宏定义参数。 然后运行此例程,在执行 SCI_enableFIFO()函数之前,SCITXBUF 和 SCIRXBUF 确实是0 ,但在运行 SCI_enableFIFO()之后,图像中的值出现。 每个电路板的值不一定相同、但同一电路板的值相同。 是否可以查看 FIFO 寄存器的值?

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

    Zhen、

    这很奇怪。 您能否运行我们示例的未修改版本并在 LaunchPad 上复制问题?

    一些注意事项:

    • 我 无法 在最后重复这个问题 请参阅我的"Registers"视图:


    • 这通常是调试 SCI 问题的一个很好的资源: 有关 SCI 问题的常见问题解答。 查看此常见问题解答、看看列出的任何内容是否与您的设置和配置相关。

    • 我们之前发现的最接近此问题的是、当启动前 C2000器件中有数据进入时、我们不建议这样做。

    此致、
    Jason Osborn