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.

[参考译文] 仍然可以#39;t 确定如何使用多缓冲区。

Guru**** 2482155 points
Other Parts Discussed in Thread: HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/718795/still-can-t-figure-out-how-to-use-multibuffer

主题中讨论的其他器件:HALCOGEN

玩得开心!
我还不知道如何使用这个 mbuf 模式。

因此、我按字节"手动"发送数据。 例如:

scilinREG->TD = 0xAA;

scilinREG->TD = 0xBB;

scilinREG->TD = 0xCC;

 我可以在示波器上看到它。

但是当我启用 MBUFF 模式(scilinREG->GSR1 |=1<<10) 时、示波器侧没有显示0。

但我在 spnu449中发现了这一点:

26.5.2.2在多缓冲模式下传输数据
当 SCIGCR1中的 Mbuf 模式位设置为1时、选择多缓冲模式。 例如单缓冲器模式、
您可以使用轮询、中断或 DMA 方法来写入要传输的数据。 传输的数据
必须写入 SCITD 寄存器。 SCI 等待数据写入 SCITD 寄存器、然后
将编程的字节数传输到 SCITXSHF、以便自动逐个发送。

如何使用 SCITXSHF 寄存器? 我应该在哪里写入必须传输的字节数?

提前感谢您。

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

    Valeriy 您好!

    您还应设置一些其他内容。

    首先、您应该在 sciBase 结构(reg_sci.h 文件)中添加一些元素(寄存器)。 您可以将 linBase 元素(从 LIN_reg.h)复制到 sciBase。 HALCoGen 不会自动向 sciBase 添加某些寄存器(例如 TDx 和 RDX)。

    您还需要设置 SCIFORMAT 寄存器的长度字段。

    此致、

    米罗

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    它看起来像我想要的那样工作。
    非常感谢您的 Miro。