问题标签 [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.
thread-safety - 在 LabWindows/CVI 中使用 ThreadSafe 变量宏
我在 LabWindows/CVI 环境中使用线程安全变量宏,并观察到可以在线程安全变量被释放之前获得一个指针。(来自先前的请求)
因为我感兴趣保护的数据是 a struct
,所以我无法显式设置嵌套级别,所以我假设嵌套级别保持在 0,即一旦发出单个线程安全指针,第二个请求将被拒绝直到第一个被释放。但是,在单步调试会话时,我发现这不是真的。DefineThreadSafeVar(CLI, SafeCli);
通过继续使用 F8步入键继续执行语句,随后对指向线程安全变量的指针的请求被授予,而无需释放原始变量。
我的期望是,一旦发出指向线程安全变量的指针但尚未释放 ,这些宏应该会阻止访问
我的期望不正确吗?
还是我错误地执行了调用?
这是我的源代码:
c - C 线程,CVI:如何从线程中返回数组?
我有一个多线程程序的问题。假设我有一系列的几个整数数组(通常是 2 或 3 个),每个都由一个单独的线程处理。我设法进行了计算,但现在我想返回在我的线程中创建的已处理数组。
启动线程后,我启动以下循环,每 0.05 秒检查一次线程是否完成。这似乎工作正常。
问题是,根据文档,我只能从线程中得到一个 int 。当我尝试使用以下函数时,这会导致失败 - 我尝试获取 int**(存储在 imageThreadPart[n] 中的二维数组)并且该函数强制我传递 int*。
1、是否可以使用这个函数来获取这个数组?
2.这可能是一个长镜头,但是否可以使用以下函数的回调复制该数组并将线程返回的值直接传递给该回调?
sockets - 在 ATEasy 中使用 TCP
我想创建一个服务器端程序,ATEasy
以便ATEasy
测试将测试信息发送到LABWINDOWS\CVI
将实现客户端的测试信息。
我的问题是,有人有关于如何将 TCP 套接字ATEasy
用作服务器的好的教程或示例吗?
Winsock
示例中的示例ATEasy
不够好,很难理解。
c - 合并多个文件夹中的代码
早上好,
我正在处理遗留代码。该遗留代码由多个项目(带有 NI LabWindows CVI 的 C 语言)组成,从未在源代码控制系统中进行管理,而仅在文件夹中进行管理。随着时间的推移,它变得有点混乱,创建了这个文件夹的副本,并且根据所构建的项目对所有文件夹进行了更改。结果是,有 5 个文件夹,每个文件夹都包含不同的代码库,而这些代码库曾经是相同的代码。在所有文件夹中也修改了许多文件,因为它们用于多个项目。每个项目仅从 5 个文件夹中的 1 个构建(因此项目 A 仅构建在文件夹 1 中,项目 b 在文件夹 4 中等等)。它不仅是原始代码,而且是用户界面文件。
我希望到目前为止很清楚。
我的任务是将所有代码合并到一个代码库中(就像它最初开始的那样)。我想得到一些建议。
以下是计划: 1. 创建一个文件夹的基线版本,该文件夹应该是更改最多的文件夹。2. 创建 GIT 存储库来存储代码和所有更改 3. 使用文件差异软件浏览所有文件夹并将文件合并到基线版本中。(文件夹 1 是基线,将文件夹 2 合并到基线,将文件夹 3 合并到基线等)
你对这个计划有什么意见吗?什么是好的?坏的?有我可以使用的工具吗?
c++ - sprintf %g 说明符在点后给出的数字太少
我正在尝试将浮点变量写入我的 ini 文件,但我遇到了格式说明符的问题。我有一个浮点值,设为 101.9716。现在我想将它写入我的 ini 文件,但问题是我有另一个浮点值,其精度较低(例如 15.85),并且这些值正在同一个循环中写入 ini 文件。所以我这样做:
我所有的其他变量都变成了很好的字符,比如“20”(如果是 20.00000)、“13.85”(如果是 13.850000)等等。但是由于某种原因,101.9716 变成了“101.972”。您能否告诉我为什么会发生这种情况以及如何在不破坏我的意识形态的情况下将其设为“101.9716”(这是关于删除尾随零和不需要的感知)。谢谢你的帮助。
c - C - 调试模式不会确认回调事件
我正在尝试在 Labwindows/CVI 中编写一个简单的 UDP 传输程序。这个想法是它创建了 2 个 UDP 通道,使用一个将数据写入端口,另一个用于接收数据并打印出来。
这是接收端:
我的主要问题是,当我在调试模式下运行它时,从未调用显示的回调函数,即不打印“回调调用”,也不是在结果readChannel()
调用中存储或打印任何数据。
但是,当作为 .exe 编译和执行时,它会按预期工作。每次在该端口上接收到数据时,回调都会执行。
会导致这种情况发生的调试版本和“发布”版本之间会有什么区别?
getchar()
编辑:经过大量测试,我相信这与使用导致主线程挂起的函数等待消息有关。为什么它在发布模式下工作我不知道,但它可能与输出窗口(?)的差异有关。我的解决方案是删除回调并在它自己的线程上运行接收通道。这样线程总是在等待消息,使用:
UDPRead(readerChannel, 0, 0, UDP_WAIT_FOREVER, NULL, NULL)) < 0)
然后我的主线程可以根据需要接收消息。如果有人有任何其他信息,请告诉我。
c - Measure Volt DC from an Analog input into an array and Calculate Volt DC in RMS
I am developing Test automation in GeoTest ATEasy and LabWindows\CVI, in the tests i measure analog and digital outputs\inputs.
In one of the test i need to measure an Analog input which contains an audio signal - and verify its Hz and Volt DC RMS.
The audio Signal is 5Hz and 2 Volt DC in RMS.
I have the possibilty to measure multiple Volt samples into an array, but i need to decide what is the sample rate
and the # of samples
i want to sample.
After measuring, i need to verify that the signal is 5Hz and 2 Volt DC in RMS.
Any suggestion on how to analyze the data to see if the signal is actually 5Hz and 2 Volt DC in RMS?
I Need an algorithm, or a library function that can do these calculations.
What should my sample rate
and # of samples
(its also the size of the array) be?
user-interface - Lab Windows CVI 控制风格的区别
我正在以编程方式在 Lab Windows CVI 中创建一些 UI 控件,我在NI 的网站上看到有两种不同的图形类型,“CTRL_GRAPH_LS”和“CTRL_GRAPH”。许多其他控件具有相同的后缀。两者有什么区别?
提前致谢。
c - 使用 NI VISION imaqDetectLines() 函数时出现一般保护错误
我在 Labwindows\CVI 中使用 National Instruments Vision 模块
出于某种原因,当我使用 func 时imaqDetectLines()
,我得到FATAL RUN-TIME ERROR: "Angle tracker.c", line 50, col 11, thread id 0x00002004: The program has caused a 'General Protection' fault at 0x6C5AD446.
这是我的代码:
我实际上在做的是:
打开一个 BMP 文件
imaqEdgeFilter()
使用 SOBEL使用 func 对其进行边缘填充然后我想用
imaqDetectLines()
func检测行
image-processing - 在 Labwindows\CVI 中使用 NI VISION 识别图像中的绿色
我 imaqColorHistogram(...)
在 CVI 中使用 NI VISION,它为我提供了每个平面的报告,对于我在需要包含绿点的图像上选择的颜色模式(RGB、HSL HSV、HSI、CIE、CIEXYZ)(该点是大部分图片)
一份报告包括:
我想验证大部分彩色图像是否最接近绿色。
我应该使用什么颜色模式?我对该报告的标准应该是什么?