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.8377万S:将串行数据写入LabVIEW

Guru**** 2487425 points
Other Parts Discussed in Thread: CONTROLSUITE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/616928/tms320f28377s-writing-serial-data-to-labview

部件号:TMS320F2.8377万S
主题中讨论的其他部件:controlSUITE

TI社区您好,

我想使用TMS320F2.8377万S中的SCI模块通过串行端口将数据写入计算机,并在LabVIEW中捕获数据。 理想情况下,我想将浮点值写入LabVIEW,它将存储在文本文件中。 我知道SCI一次只能发送8位,所以我也不确定如何解决该部分的问题。 我已经能够在controlSUITE中成功运行示例回显程序,连接到putty。 我在LabVIEW的接收缓冲器中也得到了一些东西。 我从下面的youtube教程制作了我的LabVIEW程序。  

www.youtube.com/watch

当我运行LabVIEW程序时,我的接收缓冲区会非常快速地打印示例程序中的for循环消息。 我可以在定期停止LabVIEW程序以查看接收缓冲区中剩余的内容时看到这一点。 不管怎样,我想知道是否有人曾经将此MCU与LabVIEW连接?

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

    如果您可以与LabVIEW进行字符通信,则需要决定如何将浮点数据转换为CHAR数据或从CHAR数据转换浮点数据。

    一种非常简单(但缓慢)的方法是将浮点数据作为字符串发送,例如34.456 =字符'3','4','.','4','5','6'。 然后在LabVIEW中收到该文件,将其转换为字符串,然后使用字符串Scan from String vi解析该字符串。 您需要一些C代码才能将浮点转换为字符流。

    或者,如果在C中有32位浮点值,您可以将一个指针指向它,作为指向UINT16[]的指针,然后读取组成浮点的两个16位值,并将它们(一次16位或8位)发送到SCI。 将原始数据字节输入到LabVIEW后,您需要弄清楚如何将它们转换为LabVIEW浮点(我不确定如何实际操作)。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好,Devin,

    这听起来是一个良好的开端,我现在想知道,是否有办法修改示例回声道程序,以便我可以在LabVIEW中写入和读取串行信息,就像概念验证。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Brenden,

    我实际上已经为一些自动测试做了这件事。不幸的是,我所做的是非常具体的测试,所以我与你分享任何LabVIEW代码都可能会造成混乱。

    回声道实例确实能提供您所需的信息。 SCI将初始提示写入终端后,进入一个循环,等待数据回显。 视频中的示例VI和echoback SCI示例应足以证明您的概念。

    您在使用哪个部件时遇到问题?

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

    感谢您的回复,回声卡和我在视频后创建的程序的问题是当我在传输缓冲区中发送字符时, 它最终会反复打印"Enter and a char (输入和字符)"和"You sent:(您发送了:)",就像跳过一样

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

    接收等待循环。 我不确定在使用LabVIEW时,写入传输缓冲区是否会导致程序认为接收缓冲区内不断有东西。