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.

TMDSCNCD280039C: SCI模块使用FIFO模式进行多摩川协议通信,发送多字节命令(数据)无法接收到数据

Part Number: TMDSCNCD280039C

发送单字节命令(数据)能够正常发送和接收数据,SCI能够正常接收、处理并传输。

但是发送多字节命令时,编码器返回的数据使用逻辑分析仪查看,是有返回并且是正确的:

RXFFST一直为0无法进入到下面这个if中,SAR也没有数据更新,能请教一下这是为什么?

  • 您好

    https://dev.ti.com/tirex/explore/node?node=A__ABQOkItBK9kuXffnRESWiA__C2000WARE__1kRFgrO__LATEST

    这是官方例程,这有通信相关例子,您可以参考一下。

  • 谢谢回复,但是官方例程已经查看过了,已经编写好了程序,能够实现基本的SCI通信和数据交互。问题是我发送单字节的没有问题,多字节的就有问题。这个是我想知道的

  • 您好

    问题分析

    1. 数据格式‌:确保发送和接收的数据格式一致,包括字节序(大端或小端)、起始位、停止位、校验位等。
    2. 缓冲区管理‌:在多字节发送时,需要注意SCI发送缓冲区的状态,避免在缓冲区未清空时继续发送数据。
    3. 中断处理‌:如果您的程序使用了中断来处理SCI通信,确保中断服务程序(ISR)能够正确处理多字节数据的发送和接收。
    4. 时钟同步‌:检查SCI通信的时钟设置,确保发送和接收端的时钟同步。

    解决方案

    1. 确保数据格式一致‌:

      • 检查发送和接收端的数据格式设置,确保它们一致。
      • 如果需要,可以在发送数据前对数据进行格式化处理。
    2. 优化发送逻辑‌:

      • 使用轮询或中断来检查SCI发送缓冲区是否空闲。
      • 当缓冲区空闲时,再发送下一个字节。
      • 可以考虑使用循环或延时来确保每个字节都正确发送。
    3. 调整中断服务程序‌:

      • 如果您的程序使用了中断,确保中断服务程序能够正确响应SCI的中断请求。
      • 在中断服务程序中,根据SCI的状态寄存器来判断是接收中断还是发送中断,并做相应处理。
    4. 增加数据校验‌:

      • 在发送数据前,可以添加一些校验位(如CRC校验)来确保数据的完整性。
      • 接收端在收到数据后,进行校验以验证数据的正确性。
    5. 检查硬件连接‌:

      • 确保SCI通信的硬件连接正确无误,包括引脚连接、电源供电等。
      • 如果可能的话,使用示波器或逻辑分析仪来检测SCI通信的信号波形。
    6. 参考示例代码‌:

      • 查阅F280039C的官方文档或示例代码,了解SCI通信的详细配置和用法。
      • 可以尝试运行官方提供的示例代码来验证SCI通信的基本功能是否正常。
    7. 更新驱动程序或固件‌:

      • 如果问题依旧存在,考虑更新F280039C的驱动程序或固件到最新版本。

    以上是一般出现这种情况的可能原因和相关解决方案。建议您参考