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.

[参考译文] EK-LM4F120XL:串行端口通信/C# Visual Studio 软件开发问题。

Guru**** 670100 points
Other Parts Discussed in Thread: EK-TM4C123GXL
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/667598/ek-lm4f120xl-serial-port-communication-c-visual-studio-software-developing-problems

器件型号:EK-LM4F120XL
Thread 中讨论的其他器件:EK-TM4C123GXL

编程人员大家好、我最近在 Code Composer 上开发了一个程序、它可以获取电信号并为我提供有关信号的信息、例如频率、RMS 等 之后、我想在 Visual Studio 上创建一个软件、以便我可以直观地看到它、包括值和图形。 为此、我必须使用串行端口通信、但有时当我尝试运行程序时、显然会在过程中丢失一些内容、并出现以下错误。 我将波特率配对、并且我设计了一个在大多数时间都能工作的程序。 有人可以帮助我解决这个问题吗? 我将插入一些打印屏幕、以便大家可以看到代码/错误。  (波特率9600)

谢谢、Tales Duque。

(UART 正在发送的内容)

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

    您是否怀疑 TM4C 端或 PC 端存在问题? 如果在 TM4C 侧、我建议使用逻辑状态分析器嗅探 UART 线路、以查看是否有任何数据包丢失或报告错误。 您还可以使用示波器来验证信号完整性、波特率等

    如果它在 PC 端、我恐怕我们不能提供太多帮助、因为我们的专业知识在于器件及其运行、而不是太多 Visual Studio 和 OS 驱动程序。

    此外、LM4F 器件已经停产、因此您应该真正考虑使用 TM4C 项目和硬件。 EK-TM4C123GXL 可与您列出的硬件媲美。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [报价用户="Tales Duque"]显然,在这种情况下会丢失一些东西,并出现以下错误。

    虽然"彩色"-"此类错误的准确性"(仅通过您的串行监视器的3行线显示)-也(显然)-"在此过程中会丢失!

    您是否可以更好地描述该误差?   特别是在以外、 "RMRMS1:1.628;RMS2:1.626 \r\n "   (这是唯一的错误演示-我注意。)

    在我 看来,这些在亮点中的字符应该(不)出现。   

    • 潜在客户"RM"可能是由于"屏幕字段清零"不足所致。
    • "\r\n "表示其"屏幕控制功能"未被识别。   (即 CR 和 LF)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗯、我需要"识别"进入的字符串、然后与模式进行比较、这样我就可以将其拆分并删除不需要的器件。 虽然有时 UART 通信失败、一条消息与另一条线路发生扰频、但我不知道它是与硬件还是程序有关... 事情是、当我转到 CCS 时、其中的终端有时会显示相同的错误、我认为这意味着它与我在 Visual Studio 上的代码无关...

    我想知道是否有方法可以删除该 RM (我认为\r\n 不会干扰模式集的比较)或通过序列传入的与模式不符的任何其他奇怪东西...

    谢谢!

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

    我建议查看具有示波器的 UART 线、看看您是否可以观察通过 UART 传输的 RM。 如果是、这将是问题的根源。 此外、看看您的代码、我猜测量时会发生的一切是通过中断吗? 您是否知道这些中断中是否有任何一个可能触发和中断 UART 进程? 另外、我想知道在 printf 命令之后是否刷新 UART FIFO 会有所帮助。 您可以尝试在 printf 调用后将其添加到中。

    无论如何、在我们验证 UART 数据输出不正确之前、很难将此视为 TI 器件的问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如果确实如此- CCS 终端显示"相同"(不需要、领导)"rm"、那么我同意您-这不太可能是由于存在缺陷(外部器件)而导致的。

    有害的、铅(始终)"RM?"    您的答案提供了一个重要的线索-因为"RM"确实存在于 UART 的 FIFO 中-并且它(不需要的、引线)存在-可能会发出"错误的 FIFO 解包"信号。

    您的(外部设备/终端)显示"\r\n "-这一事实向我表明、您的外部设备未处理这些"控制代码"。    (我们希望看到"自动"回车-随后是换行...)