问题标签 [cvi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 尝试从读取的文本文件中仅删除第一行中的字符
[C 平台] 我有一个文本文件和文本文件的第一行为“校准(版本 6.0.26.54947)”我需要忽略字符“校准(版本)”并只读取数字“6.0.26.54947”。
我有以下代码并继续......任何人都可以帮助我。
c - 忽略文本文件中的命令行
如何通过忽略第二个文本文件上的命令“// Q_L1_M1F0”来比较两个文本文件。
1.文本文件
- 文本文件 ,
c - 断点未设置,即使它停在这里
我正在使用带有 2012 CVI 程序的 Win 10 64 位 PC 来测试功能(如下所示)。即使没有设置断点,程序也总是在这个函数(MeasurePressureValues)处停止!
功能:
首先调用函数 MeasurePressureValues() 执行并再次作为断点执行相同的函数。
有没有人面临这种问题..可能是什么原因
fonts - 如何在 LabWindows CVI 中查找系统上是否安装了字体?
在来自用户界面资源文件的面板中,很少有带有特殊字体的文本消息控件(这是一个旧项目,其中 UIR 已经设计并在生产中使用,因此无法更改)。在设计时 LabWindows 检测字体是否安装在当前系统中,如果没有,它会在 Edit Text Attributes 对话框中显示,并带有(未找到)后缀,如图所示 Font Not Found
但是在运行时,如果字体仍然不可用,可执行文件将选择另一种可能不适合设计控件大小的字体。
是否可以在启动时检测字体是否可用,如果不警告用户安装它?系统详细信息:Windows-10 64 位上的旧 LabWindows-8.5。确实尝试搜索 Google 和 National Instruments 但没有找到答案。也尝试过这段代码:
但无论字体是否安装在测试计算机上,它总是返回 xx=9 和 buff="Digital-7" 。
这是在设计时 LabWindows 检测到字体已安装:找到字体
c - 使用 FFT 和分析库的 CVI 图像处理
我正在使用 CVI 做我的最终项目,但我遇到了一些问题。该项目一般是在图像上应用FFT,在四个级别(通道)添加高斯白噪声,应用IFFT来恢复原始图像。我有两个部分:
- 我可以对行和列使用 2DFFT 或 1DFFT
- 我必须对行和列使用 1DFFT,并将信号通过滤波器 2D-DWT
现在我用一个名为 bitmapID 的指针保存图像数据,该指针只能用于某些功能。我想将图像数据保存为一个数组,以便我更容易访问它并进行操作。我尝试使用函数 ImaqImageToArray,但我不知道它为什么不起作用(与图像尺寸有关的东西)
我想得到一些帮助提前谢谢
这是我一直在尝试的一些事情:
cvi - 从串口读取的标准方法是什么
我有一个测试用例,我需要读取串行总线 (RS-232) 上的文本。此文本实际上是嵌入式 PC 启动时输出的文本。然后我需要为某些标记解析该文本输出。我正在尝试开发一种解决此问题的通用方法。这是我的方法:
配置 COM 端口 打开/创建文件以将文本写入 将从端口读取的字节写入文件 此处有任何指针可以帮助我,或者您认为缺少什么?对于函数 ComToFile,我不确定参数“终止字节”使用什么,因为我还不知道文本的整体外观。是否有一个默认值可以输入该函数以不使用该方法?
注意:不需要 UI,这是用于自动化测试。另外,我正在争论是否应该将启动文本写入文件,然后像我所做的那样解析该文件中的令牌,或者最好将其存储在程序内的一个大缓冲区中并解析该缓冲区?
c++ - 可以在没有 Visual Studio 许可证的情况下将代码编译成静态库 .lib 文件吗?
标题说明了大部分内容。
背景:我在 Windows 上开发。我无权访问 Visual Studio 许可证(不允许使用社区版),因此无权访问 MSVC。我需要将第三方代码 ( https://github.com/google/googletest/blob/master/googletest/README.md ) 编译成 .lib 文件,以便在特殊的 IDE (CVI/Labwindows) 中使用。我尝试使用 git bash(我想是 MinGW)和 cmake 和 gcc/g++ 来编译东西,但正因为如此,我的代码编译成 .a 文件而不是 .lib。我还没有找到是否可以设置任何适当的标志来使其编译成.lib。所有对“编译 .lib 文件”的搜索最终都会提到 Visual Studio。
感谢您对这个问题的任何澄清。
c - flatcc 未定义符号aligned_free/aligned_malloc
解决
我目前正在研究 LabWindows/CVI,这是一个 C。唯一支持的 C 版本是 c99。我正在尝试将 Google Flatbuffers(c 版本flatcc)集成到我当前的项目中。当我尝试链接我的解决方案时,我遇到了链接错误:
第一个问题:我该如何解决这个错误?
根据供应商的说法,LabWindows/CVI 使用CLANG 作为编译器。如果我看一下符号aligned_free /algined_malloc 出现的文件,我可以读到:
第二个问题:根据上面的文字,我应该有aligned_free/aligned_malloc的定义,但由于某种原因,我没有它。为什么 ?我错过了什么?
附加信息: LabWindows/CVI 只接受 .lib 作为 lib(没有 .a),所以我必须使用 Cmake 和 MSVS19 编译 flatcc。我尝试了几种配置,但无事可做,我总是遇到同样的错误。
最良好的问候
编辑:我通过执行以下 cmake 命令修复了一个未定义的符号“__allmul”:
cmake -G "MinGW Makefiles" -DCMAKE_C_COMPILER=x86_64-w64-mingw32-c99 -DFLATCC_PORTABLE=true -DFLATCC_ALLOW_WERROR=false -DBUILD_TESTING=false -DFLATCC_CXX_TEST=false -DFLATCC_REFLECTION=false -B .
然后编辑flatcc\src\compiler\CMakeFiles\flatcc.dir\flags.make
和flatcc\src\runtime\CMakeFiles\flatcc.dir\flags.make
看起来像这样:C_FLAGS = -m32 -DFLATCC_REFLECTION=0 -Wstrict-prototypes -Wsign-conversion -Wconversion -std=c99 -pedantic -Wall -Wextra -DFLATCC_PORTABLE
-m32 是 32 位二进制和 -std=c99 而不是 -std=c11 (不能放 c89 因为 flatcc 包含一些内联关键字)
然后编辑flatcc\src\compiler\CMakeFiles\flatcc.dir\link.txt
并flatcc\src\runtime\CMakeFiles\flatcc.dir\link.txt
看起来像这样:
然后运行Mingw32-make.exe
c - 在 LabWindows/CVI 中作为客户端读取和存储 TCP 数据的最佳方法是什么?
注意:这是为了在 LabWindows/CVI 中使用他们的 TCP 库编写一个 DLL。
我正在编写一个 TCP 客户端 DLL,该 DLL 旨在使用我的 UUT(充当服务器)读取/写入数据。我正在使用 CVI TCP 库。根据库的示例,我将使用一个同步回调函数来处理我作为客户端接收到的消息。当数据可用时,此回调函数将执行 ClientTCPRead(),如下面的代码片段所示。如您所见,当数据准备好时,read 函数会将数据存储在 uint32_t 类型的全局 g_recieveBuf 数组中。
问题一:
当涉及到我收到的大消息时,由于其他 TCP 时间问题,我经常需要多次调用来读取所有数据。我相信回调会处理这种情况。TCP_DATAREADY 案例将继续执行,直到读取所有数据。我相信这是这个库提供的实用程序,是什么使它如此简单的过程。我的问题是如何跨多个调用正确地将数据连接到我的全局数组中?我不想每次执行 ClientTCPRead() 时都覆盖我的数组。例如,如果服务器正在发送一条大消息,并且多次执行回调函数以读取所有数据,我希望它在我的数组中作为一条连续消息正确捕获。我的一位同事建议使用 List 构造(程序员的工具箱库)。我不
问题2:
来自服务器的数据是二进制格式的。它是具有已知标头大小的专有消息结构。标头还包含一个字段,告诉我服务器消息的总字节数(标头和正文)。在正确读取数据方面知道这一点有什么好处吗?我认为这没关系,因为我使用的是内置回调函数,如果数据可用,它将始终读取数据。那么,如果回调函数确保所有字节都被读取并存储在我的全局数组(或其他构造,如列表,如果我使用该方法)中,我为什么还要关心即将到来的字节数。
先感谢您。
c - CVI GUI 中的定时功能
我正在开发 Windows CVI 中的一个应用程序,该应用程序需要在用户通过文本输入框设置的一系列时间间隔内运行一些代码。这些框包括三个显示每个进程运行多长时间,一个显示进程将花费的总时间,一个显示剩余时间。
我目前的实现是有一个带有静态变量的函数来跟踪哪个进程正在运行以及当前进程中还剩下多长时间,然后在该时间过去后继续。此功能在按下开始按钮时触发。不幸的是,代码在单击开始按钮时停止,因为它似乎在等待代码完成执行,然后才允许任何进一步的输入。
有没有“正确”的方法来做到这一点?也许是多线程或预先构建的计时器应用程序?