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.

[参考译文] TMS320F2.8075万:串行通信

Guru**** 2589265 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/659188/tms320f28075-serial-communication

部件号:TMS320F2.8075万
主题中讨论的其他部件:C2000WARE

大家好:

我目前正在处理设备的串行通信。 我尝试使用示例代码"example_2807xSci_Echoback.c"作为基础。 我已成功发送消息,但示例代码似乎在此行内循环:

while (SciaRegs.SCIFFRX.bit.RXFFST ==0){}

我已尝试从超级终端输入字符,但代码似乎没有超出此范围。 我已经测试过,示例代码在没有此行的情况下工作,但显然这不是理想的(在处理RX缓冲区之前应等待用户输入)。
是否对错误的可能原因有任何意见? 我还可以检查是否可以使用RXFFST来配置/指定输入数据长度(例如,只接受x个单词的输入流)

此致

K.K.

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

    您是否已确定引脚的范围,以确保来自PC的信号到达所需的SCI RX引脚,并且电压电平正确? (不确定使用的是虚拟COM端口还是物理RS-232或类似的串行接口)

    至于拒绝不符合指定字数的数据包,我认为您需要在收到数据后进行拒绝,我认为硬件不能为您执行此操作。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,

    首先,确保在使用RXFFST寄存器时启用FIFO,以查看是否已接收数据。

    其次,您的设备似乎未通过SCI接收数据。 您需要确保连接到正确的针脚以进行SCI通信。 您可以使用示波器来确认这一点。

    希望这有所帮助。

    SAL
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您提供信息。 我使用UART-USB电缆进行测试,信号按预期传输。 我当前遇到的问题是基于文档,下面的代码用于充当仅在有传入信号/消息时退出循环的缓冲/等待:

    while (SciaRegs.SCIFFRX.bit.RXFFST ==0){}

    但是,运行示例代码时,程序将无法退出循环。 通过删除这一行代码,我已验证TX和RX寄存器可以正确传输和接收消息。 我打算按照文档中的建议使用上述代码,因此,如果有关于错误可能原因的任何信息,我将不胜感激。

    如果拒绝该套件,我将按照建议在收到后执行。


    此致

    K.K.
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果您已按示例所示启用FIFO,则此行代码应该工作正常。

    此外,我还测试了该示例,它与C2000Ware中的示例一样工作正常。

    我不确定您的问题是什么。

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

    尊敬的Sal Pezzino:

    我附上了错误的屏幕截图,如下所示:

    如您所见,我尝试输入一个字符“t”,但没有来自微控制器的返回回声(根据 我对代码的理解,返回回声应该打印“您发送的:”和回声报文)。

    此代码是从C2000Ware示例中导入的,如下所示:

    以下屏幕截图是我在示例中遵循的配置:

    除了示例C文件中注释/提及的详细信息外,是否需要进行任何其他配置?

    谢谢,非常感谢您在此问题上提供的帮助。

     

    此致

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

    我没有看到这个问题。 您需要使用振荡器以确保设备能够看到传输到它的字符。 您的RX引脚可能存在问题。

    您可以从设备进行传输。 但接收不正确。

    您是否在SCIRXBUF寄存器中看到任何数据?

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

    感谢您的见解。 问题确实是由从计算机到RX针脚的传输错误引起的。

    我注意到Code Composer Studio也有一个“终端”插件。 插件是否可以用于输入UART消息? (我已尝试配置请求的COM端口设置,但不确定如何在终端屏幕上启用输入)

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

    插件可用于发送UART消息。

    希望这有所帮助。

    SAL

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

    尊敬的先生:

    我尝试使用终端,但UART仍有问题,主板无法接收输入。 随附展示我的测试的屏幕截图:

    我通过controlCARD (坞站上的引脚76和78)将UART电缆连接到TMS320F2.8075万,RX引脚仍不接收任何消息。 请注意,在我们之前的讨论中,主板运行的是回声卡示例代码。

    但是,当我尝试使用Arduino作为继电器/中间设备(如PC->Arduino ->TMS->PC)的相同配置时,可以正确接收消息,如下所示。 (接收来自Arduino的Rx引脚消息)

    似乎控制板上的RX引脚和UART-USB电缆都能正常工作,但我不知道为什么在我从PC直接连接时无法将消息发送到板。

    非常感谢您提供有关解决此问题的任何建议和见解。 谢谢你。

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

    我建议使用示波器来确保数据传输到控制卡。 此外,确保配置了用于SCI通信的正确GPIO引脚。

    SAL