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.
大家好、
我的 MATLAB 在发送/接收数据方面存在问题。 实际上、考虑到传输、一切都很好。 但是、接收块不能完美工作。 因为、我无法读取我发送的整个数据。 尽管我只想读取100字节数据、但它只读取15字节。 我在下面的图片中分享了我的问题:
当函数被注释掉时、显示屏会显示数据包
当功能正常工作时、显示屏将无法工作
当示波器工作连接超时时。
万分感谢。
此致、
费蒂。
您好、Fithi、
我已通知 Mathworks 支持;他们应该能够帮助您解决问题。
一些说明/调试实验可能有助于:
您好!
当您在轮询模式下读取时、您是否为 STEP 函数提供了足够的时间来读取全部100个字节? 如果 SCI 波特率不足以满足给定采样时间、那么您可能无法在给定的步进时间内接收和读取100个字节。
处理这种情况的最佳方法是使用 SCI FIFO 特性。 您可以将 SCI Tx 块配置为在 FIFO 深度为零时中断、然后加载16个字的数据并从中断中传出。 相应地、您可以启用 SCI FIFO Rx 中断并将级别设置为16。 当 RX FIFO 接收到16个字的数据时、Rx 中断可用于读取相同的数据。 这可确保 Tx 和 Rx 模块之间的完美同步。
您可以在我们的其中一个出货示例中找到一个在 SCI Rx 块上启用 FIFO 操作的示例。
C28379Dpmsfocdual_CPU1_ERT/串行接收
您好!
我们每次采样都尝试捕获所有数据。 遗憾的是、它不起作用。 此外、我们在 SCI 块中尝试了 FIFO (在这些块中、我们可以最大 4 FIFO、因为 C2000系列)。
实际上、我们没有使用速率转换和 IRQ (硬件中断)。 我们将在本周尝试。 然后、我将提供有关最后一种情况的信息。
此致、
费蒂。
您好、Fithi、
您是否能够使其正常工作? 如果没有、调试的当前状态是什么?
您好 Devin;
很奇怪、它不起作用。 我举了您建议的示例、它与我所需的点不完全相关。 我只想读取 100字节的 UART 数据。 我有12个电机、这些电机与 UART (TTL)通信。 此外、我尝试读取(DSP) RX -(DSP) TX、而不是使用电机。 当我连接电机时、我已经遇到了类似的问题。
谢谢。
很抱歉我迟到了。 今天、我向 Mathworks Service 发送了有关此问题的信息。 我现在正在等待解决。
您好、Fithi、
由于线程的老化、我要将其标记为 Resolved。 如果 Mathworks 未解决您的问题、请随时回复此主题或使用"提出相关问题"按钮继续讨论。