自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

思维逆逝

天之大,有容乃大。

  • 博客(26)
  • 资源 (3)
  • 收藏
  • 关注

原创 STM32 DEBUG 卡死在 BEAB BKPT 0xAB

STM32调试卡死在 0x080082BE BEAB BKPT 0xAB

2022-10-20 21:34:31 1086

原创 f_sync有大用但不可以滥用

做项目,因为硬件没有设计停止写文件的按钮(或信号),设备断电会导致文件无法在windows显示。后来运用f_sync函数,每写一次SD卡,就用f_sync保存起来。大约每秒使用16次,连续十几个小时采集数据并保存。以为万无一失,然而悲剧发生了。有的设备前几小时数据正常,后面的数据直接出错。有的设备第一次就直接写入错误。解决办法: (1)每次使用之前都给SD卡格式化。...

2019-12-17 22:53:04 5255 2

转载 WPF优化:Freezable冻结对象

WPF虽然很美观,效果很炫,但是对资源的消耗也很大,尤其是初次接触WPF的人,因为很多地方虽然实现了想要的效果,但是由于经验问题,所以也会造成很大的资源浪费,好的程序,需要更好的优化。虽然可能只是节省了很少的一点资源,但是对整体程序运行的速度与稳定性来说,也许就起到了决定性的作用;每个地方都能做到一点优化,那么在成个程序中,优化的效果就会很明显,流畅、稳定,才是一个程序的健康状态。在MSDN上

2017-12-28 09:44:34 1647

转载 nuget安装本地nupkg文件

打开visual studio,菜单选择‘工具’->‘选项’ 然后接下来,选择‘程序包源’,把‘包括预发行版’打钩,然后安装需要的包到工程即可,如下图:本文转载自:/www.cnblogs.com/wjx0912/p/6893965.html

2017-12-27 11:36:59 5230

原创 C#打开选择文件对话框和选择目录对话框

1.    选择文件对话框,首先引用using Microsoft.Win32名称空间。private void BrowseButton_Click(object sender, RoutedEventArgs e) { OpenFileDialog dialog = new OpenFileDialog(); if(dialog.

2017-12-06 09:52:54 17932

转载 关于一般性保护错误的原因和解决办法

一 什么是一般性保护错误(GP)?      一般性保护错误(general protect简称GP),通常只是WINDOWS下的一个术语,我们现在也常把它引用到UNIX下指程序的崩溃。      本文主要探讨WINDOWS下面程序GP的原因,预防和解决办法。二  GP的原因       WIN32操作系统在发现某应用程序企图访问不属于自己的非法的内存区域时,将触发一般性保护错误,

2016-12-01 14:47:41 4779

原创 关于文件操作的多mode变换

在操作文件时,需要对文件内容进行读/写。首先来看下fopen函数: FILE * fopen(const char * path, const char * mode);path:文件的路径。mode:文件操作模式。mode说明:r 以只读方式打开文件,该文件必须存在。r+ 以读/写方式打开文件,该文件必须存在。rb+ 以读/写方式打开一个二进制文件,只允许读数据。

2016-11-21 16:43:41 499

原创 CVI减少CPU占用率

当设计CVI程序时,会发现CVI程序占用CPU的资源很多。接下来讨论下为何减少CPU的占用率。        当程序运行RunUserInterface()函数时,CVI的运行引擎处于一个连续的循环中,等待系统事件。为了内部状态有效,CVI需要处理并分派这些事件。每次在这个循环中,根据用户的休眠策略进入休眠状态。虽然休眠越多,资源消耗越小,但正是这个循环在消耗CPU资源。此外,我们接收

2016-11-09 11:09:04 1870

原创 fopen自动创建文件失败的原因

项目中需要在一个动态的路径下创建一个txt文件来保存数据。利用fopen()函数进行创建文件。调试半天没有成功,总是提示fp指针为空。经过查找资料,终于发现了问题所在。原博文地址:http://blog.youkuaiyun.com/u013485792/article/details/52327718总结:       1.路径不存在,文件也不存在,fopen打开失败       2.路径存

2016-11-08 15:59:56 13443

转载 多线程技术

多任务、多线程和多处理这些术语经常被交替地使用,但是它们在本质上是不同的概念。多任务是指操作系统具有在任务间快速切换使得这些任务看起来是在同步执行的能力。在一个抢占式多任务系统中,应用程序可以随时被暂停。使用多线程技术,应用程序可以把它的任务分配到单独的线程中执行。在多线程程序中,操作系统让一个线程的代码执行一段时间(被称为时间片)后,会切换到另外的线程继续运行。暂停某个线程的运行而开始执行另一个

2016-11-07 15:29:41 3866

原创 羊与车的问题

一、问题的提出“一个娱乐节目上,主持人给了你一个可以拿走一辆诱人的高级跑车的机会:你的面前有一模一样的三扇门,只有一扇们的后面有你梦寐以求的高级跑车,剩下两个门里就只有羊了(就是‘回家吧’)。主持人让你选定一个门,你选定后告诉了他,他诡异地说:‘我看你小子人品不错,有前途,这样吧,我给你个提示……’说着就把另一个不是你选的门打开了,告诉你里面是羊。现在只剩两扇门了,一扇是你刚开始选的,另一

2016-10-27 15:59:34 3021 1

原创 关于Confirm Popup中的YES,NO换成中文

CVI本身不可以改变英文,再次我们采取Windows编程方式改变。Win32 API中的函数MessageBox可以解决此问题。首先给一个例子:#includeint main(){ int result = MessageBox( NULL , TEXT("确认退出程序?") , TEXT("提示信息") , MB_ICONINFORMATION|MB_YESNO);

2016-10-25 15:01:44 1764

原创 UDP广播socket实现

UDP广播:const int MAX_BUF_LEN = 255;int main(int argc, char* argv[]){WORD wVersionRequested;WSADATA wsaData;int err;// 启动socket apiwVersionRequested = MAKEWORD( 2, 2 );err = WSAStartup( wVersion

2016-10-21 12:20:09 1757

原创 多个控件共同应用一个回调函数

多个控件共同应用一个回调函数如何进行区分,首先看看回调函数形参:int CVICALLBACK ChangeCallback (int panel, int control, int event, void *callbackData, int eventData1, int eventData2);panel:面板标识;control:控件的标识;event:事件标识;i

2016-10-14 10:14:19 1509 3

原创 CVI使用TCP/IP做客户端

客户端连接服务器。首先要注册一个客户端连接函数:        ConnectToTCPServer(&conversationHandle, portnumber, address, TCPClientCB, NULL, 0);        conversationHandle:   客户端句柄;portnumber: 服务器端口号;address:服务器IP地址;TC

2016-10-13 09:32:12 5193

原创 关于DeclareThreadSafeArrayVar的用法

Using a Thread Safe Array in Multiple Source FilesUse the DeclareThreadSafeArrayVar macro if you want to use the thread safe array in more than one source file. TheDeclareThreadSafeArrayVar macro

2016-10-12 16:31:11 556

原创 CVI I/O端口操作

函数:char inp (short portNumber);char outp (short portNumber, char byte);short inpw (short portNumber);long inpd (short portNumber);short outpw (short portNumber, short word);在使用这些函数时先调用int CVI

2016-10-12 16:28:43 718

转载 CVI与PLC通信MPI

2  MPI通信接口设计 21 MPI通信接口的基本原理    MPI通信的最高速率达187.5KB/S。IPC与PLC的通信分为两种物理连接方法一种是在工控机PCI总线上插接CP5611卡通过此卡和MPI电缆将IPC连接到S7系列PLC本机上集成的MPI接口形成MPI网络另一种方法是直接使用PC/MPI编程电缆将连接具体连接方式见图1二者的通信速度不一样。 

2016-10-11 14:09:16 2158

原创 CVI多线程数据保护(多个线程操作同一安全变量)

有网友提出多个线程操作多个变量不能明确显示是否做到异步操作,现在我们来看下多个线程操作同一变量,是不是有序的进行呢?#include #include #include int CVICALLBACK ThreadFunction (void *functionData);int CVICALLBACK ThreadFunction1 (void *functionData);i

2016-10-11 09:33:45 3179 1

原创 CVI多线程数据保护(安全变量)

DefineThreadSafeScalarVar(,,);此函数应用#include #include #include int CVICALLBACK ThreadFunction (void *functionData);int CVICALLBACK ThreadFunction1 (void *functionData);int CVICALLBACK ThreadFunc

2016-10-10 16:11:03 1376 2

原创 CVI多线程数据保护(安全队列)

一个线程产生数据,加入安全队列;一个线程显示数据,读取安全队列。#include #include #include int CVICALLBACK ThreadFunction (void *functionData);int CVICALLBACK ThreadFunction1 (void *functionData);int threadID;int threadID1

2016-10-09 16:52:13 3272

原创 十六进制串口发送

字符串转化为十六进制,让串口发送数据: int hexdata, lowhexdata; unsigned short int hexdatalen = 0; unsigned char hexdatalenH8, hexdatalenL8; int len; int i; len = strlen ( str ); if(len == 0) { MessagePopup

2016-10-09 15:31:01 2375

原创 CVI面板全屏操作

函数使面板在载入时全屏:int ScreenPro (int panel){ int MonitorID = 0; int height = 0; int width = 0; GetMonitorFromPanel (panel, &MonitorID); GetMonitorAttribute (MonitorID, ATTR_HEIGHT, &height); GetMon

2016-10-09 15:22:14 2881

原创 CVI多线程数据保护(线程锁)

两个线程操作全局变量,一个线程显示全局变量,主线程一直在打印************#include #include #include int CVICALLBACK ThreadFunction (void *functionData);int CVICALLBACK ThreadFunction1 (void *functionData);int CVICALLBACK Thr

2016-10-09 14:06:35 4022 2

原创 CVI使用数据库时,在未装CVI的计算机上运行错误。

在用NSIS打包时,将cvidb32.dll文件加入打包文件即可。附带SQL ToolKit2.1点击打开链接

2016-09-23 15:56:21 863

转载 CVI 键盘输入信息读取记录TXT

如何用文本文件记录键盘按键及时间信息。如下:声明一个文件句柄:static int gLogFile = 0;  复制代码程序开始时初始化它:gLogFile = OpenFile("d:\\TestLog.txt",VAL_READ_WRITE,VAL_APPEND,VAL_ASCII);复制代码

2016-09-01 16:47:32 4074

CVI串口字符串16进制转换

CVI串口字符串16进制转换

2017-12-20

NI 与 vs交叉使用

使用工具与vs交互!!!

2017-11-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除