自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (6)
  • 收藏
  • 关注

原创 labview经验分享1-任意16进制字符类型匹配

labveiw的字符串匹配,使用的是正则表达式,可以让我们很方便的对字符串进行字符处理操作。但是某些情况下,只需要抓取十六进制这种最原始的数据,这个时候,如果匹配的数据中刚好是正则表达式的特殊字符,那么就会匹配不出。除非加上转义字符,但这样显然就让事情变复杂了。那么,有什么办法可解决这一问题呢?答:针对上述问题,本文提供一个通用匹配vi,可匹配任意16进制字符数据

2024-08-15 20:35:48 589

原创 机器视觉初体验---镭雕码自动识别打印

纸上得来终觉浅,绝知此事要躬行!这是第一个关于视觉方面的简单应用,刚开始以为很简单,但做起来却发现还有许多东西需要解决。从需求的分析到相机的选型,再到后面的开发调试等,经过不断的尝试与试错,最总形成了这样的一套切实可行的方案。本文主要介绍关于机器视觉的一个应用-关于镭雕码的识别。可应用于自动化生产线关于SN的识别。

2024-08-12 21:13:09 53

原创 GitLab使用经验记录与介绍

* GitLab是一款功能非常强大的源码管理工具,可以说,有了它,对于源码管理的烦恼,会极大的减少!!!本文主要介绍GitLab使用上的一些个人经验。

2024-08-07 21:27:28 606

原创 labview实现呼吸灯颜色渐变效果

呼吸灯效果具有美好的视觉观感,前一段时期感受了一位大佬在MCU中实现呼吸灯颜色渐变效果,很是震撼。这引起了我的兴趣,本文则是实现一种呼吸灯效果(主要在于颜色的渐变体现)。

2023-07-14 21:43:43 1191 1

原创 高通QCC5181蓝牙芯片耳机修改设备名称

end。

2023-07-06 23:17:11 1618

原创 设计模式:02观察者模式--labview实现

在观察者模式中,一种叫做被观察者的对象维护了观察者对象的集合,当被观察者对象发生改变时候,它会通知观察者。在被观察者对象所维护的观察者集合中,能够添加或者删除观察者。被观察者状态变化能够传递给观察者。这样观察者能够根据被观察者的状态变化做出相应的改变。

2022-11-30 22:50:03 884 1

原创 设计模式:01工厂模式--labview实现

工厂模式是一种创造型模式,它就像工厂一样用来生产(创建)对象,用来从一组实现特定逻辑的类中实例化某个对象。本文采用的是labview实现

2022-11-11 23:53:10 656 1

原创 Labview界面多按钮控件的一种处理方法

当界面中存在多个按钮控件时候,此时如果逐个为每个控件添加事件条件则会显得较为麻烦,此处提供了一种对多控件进行批量处理的方法

2022-10-24 23:30:32 1801 1

原创 labview学习笔记7:labview二维数组搜索匹配

引言实际中,经常需要用到对数组的操作,特别是一维数组、二维数组操作,labview中提供了搜索一维数组函数,但是没有提供搜索二维数组。本文章主要实现对字符串二维数组的搜索并返回指定内容。需求如下:test.vi前面板程序框图二位数组搜索.vi前面板程序框图返回二维数组列or行数据.vi前面板程序框图测试结果......

2022-03-18 23:22:45 5337 4

原创 SQL server 数据库表的配置及其表的导入导出

SQL server 数据库表的配置及其表的导入导出在实际应用中,需要对测试数据进行存储,以便于后续对数据进行查询。这里介绍SQL SEVER数据的表的配置及其数据库的导入和导出等操作。一、安装SQL sever软件二、配置在配置中,首先要明确要做的事情,这里主要做一下几个事情1、 登录数据库2、 新建数据库3、 新建表4、 新建登录名5、 配置表的主键和权限接下来,一个一个来操作1、登录数据库打开Microsoft SQL server Management Studio打开后界面

2021-09-05 21:55:16 10510

原创 网络分析仪VB编程

本脚本程序功能:实现选择性随中心频点的变化而变化,此处选择性固定为10%实现思路:主要分为一下几步:1、不断刷新获取中心频率点2、对获取到的中心频率点,计算出±10%对应的两个点3、mark出这两个点说明:需要mark的有三个点,此处默认mark1为max峰值点,mark2为-10%点,mark3为+10%点。mark1需要提前设定好。Option Explicit OnPrivate Sub UserMenue_OnPress(ByVal id As Long) If id =

2021-09-02 23:30:42 377

原创 labvie学习笔记6:excel表格的读取和写入操作

labvie学习笔记6:excel表格的读取和写入操作**整体思路**具体实现**相关vi****读写操作.vi****写入操作.vi****写入操作.vi**WriteSheet1.vi**Sheet1读取.vi****测试结果****读取**写入说明实践出真知,最近对excel表格的读写有了一些新的感悟,为此,特意记下来整体思路对表格的操作可以分为读取和写入操作,在具体的读写操作中,则以Sheet(工作簿)为单位进行操作。**具体实现相关vi读写操作.vi读取操作.viSheet1读

2021-08-15 13:35:43 3652 4

原创 电脑磁盘空间莫名其妙满了

电脑磁盘空间莫名其妙满了是他是他就是他,因为安装了SQL sever数据库,里面的Log文件夹占用的空间不能被发现,将其删除即可前一段时间,发现自己的电脑E盘空间只剩下几百兆空间,以为是存储的文件过多,便清理出了20G的空间。大约过了两三天,发现E盘空间又只剩下几百兆的空间,这让我感到很是奇怪,以为是中了病毒,用杀毒软件杀毒,查看磁盘状态都没有发现异常,为了探明究竟是哪里多出来了这么多的空间,我将E盘里所有的文件放在一个文件夹里面,查看属性大小,诡异般的现象出现了,E盘的总空间大小有300多G,但是属

2021-02-22 20:24:33 15663 13

原创 2020年个人总结及来年规划

正式总结为什么要总结时间飞快,转眼间,新年即将到来。在这即将辞旧迎新的时刻,总结过去的一年,对新的一年更好的发展,具有重要的意义。这次总结是需要的,也是必须的。整体评价对于我来说,过去的一年是具有重要意义的一年。从啥也不会到现在能从是计算机相关工作,对于非计算机专业的我来说,这期间付出的努力与艰辛,只有自己清楚(现在说也是后话,如果之前加把劲,那就不用经历这个痛苦的过程了)。在这个过程中,我对未来的方向更有了更清晰的定位。详细介绍工作前当时考虑到毕业后好找工作,便在粤嵌报名参加嵌入式培训,这期

2021-02-07 23:11:42 123

原创 CRC校验原理及两种代码实现方法(c语言和labview实现)

CRC校验原理及代码实现目录背景原理模2除法多项式计算流程代码实现()c语言实现c语言测试结果labview实现labview测试结果目录背景在进行数据传输时,为了避免数据传输发生错误,需要对数据进行校验,从而产生了一些校验方法。CRC校验便是其中之一。校验流程如下:1:数据发送方按照一定的计算方法得到校验码,附在数据串末尾。2:数据接收方在接受到数据后,按照同样的方法对数据进行校验,如果得到的校验码和收到的校验码相等,则说明传输数据未发生错误。。以上存在一个问题,如何确定收到数据哪部分是校验

2021-01-31 15:25:47 5763 1

原创 问题记录1:网络和共享中心打不开的解决办法

人有旦夕祸福,岂能自保天有不测风云,人又岂能预料这电脑莫名出问题,我又怎么知道说来奇怪,近日给电脑设置IP,便打开网络和共享中心,然弹出一个对话框之后,就一直卡住。这个问困实在困扰了我许久。经过实验与搜寻,最终也莫名奇妙的,解决了。解决办法:第一步按Windows+R键,在弹出的对话框中输入services.msc第二步出现如下对话框,找到Network List Service,右击鼠标,点击属性![第三步在登陆界面选择本地系统账户登录,配置完成。...

2021-01-22 22:20:34 5771

原创 labview学习笔记5:新建报表失败(无法打开excel文件)解决办法

labview用报表方式导出excel文件导入失败,新建报表无法打开文件excel文件。课采用如下方法解决自己手动打开一个excel文件即可实现!!!!!

2020-11-19 22:48:37 2539 4

原创 labview学习笔记4:删除指定数组元素

在开发过程中,会遇到对要将数组中符合一定条件的元素进行删除。以下图为例,将数组中元素值对二取余,若余数为0,则将该元素删除。关键思想如下:对数组中元素进行遍历,若符合条件,则删除,遍历删除操作关键在于两个移位寄存器...

2020-11-12 07:40:28 5516 1

原创 matlab求解方程组

所求方程组如下代码如下syms fm Cm fe C S2 S1 fe Tg %定义已知常量syms derta ita mui %待求解变量func1 = derta * fm - ita * derta * fm - Cm; %方程一func2 = derta * mui * fm + derta * fe + C; %方程二func3 = (1 - ita)

2020-11-07 21:33:25 2355 2

原创 labview学习笔记3:labview连接不上数据库(odbc数据源DSN设置不对)

labview连接不上数据库,可能是odbc数据源设置不对今天装软件,发现在打开运行时会抱一个错误在网上看了许多,汇总起来主要有以下几点1:正如错误所说,odbc没有驱动,要去下载驱动才可以2:odbc数据源不对,可能支持的是32位数据源,但是运行的是64位的数据源。需要在C:\Windows\SysWOW64目录下找到名称为odbcad32的应用程序,并运行,即可,同时,也可查看是否有相关的驱动。3:电脑安装的office中没有安装access模块,需要重装office增加该模块经过注意尝

2020-11-05 23:06:27 3491

原创 labview学习笔记2:转换为定点数(将浮点型转换为双字节传输并解析)

双精度和单精度分别占8字节、4字节,在与下位机进行通信时,经常遇到一种请况:一个量是小数形式—>也就是双精度或者单精度。在通信协议中,却只有两个字节的的大小表示该量,很名显,这就存在两个问题。第一,两个字节无法表示四个字节的内容。第二,不存在两个字节的小数。但是强大的liabview提供了一种机制,可以轻而易举的实现这种转换代码如下运行结果如下:...

2020-11-05 00:14:10 3910 4

原创 labview学习笔记1:将数据写入excel表格

2020-10-21 23:26:23 8360 2

原创 一个快速排序的例子

void quick_sort(int a[], int left, int right){ int n = left, m = right; int key = a[n]; if (n >= m) return ; while (n < m) { //从右边往左边找比key小的 while (n < m && a[m]>key) m--; //如果找到了要填前面的坑 if (n < m) a[n] = a[

2020-10-13 23:35:06 212 1

原创 ARM Cortex M4 体系结构

ARM Cortex M4 体系结构一、Cortex M4体系接口ARM Cortex采用的是哈弗架构,为系统提供了三套总线。(1)ICode总线(2)DCode总线(3)System总线二、Cortex M4的工作状态ARM公司设计的cpu可以支持多种指令集(1)ARM指令集(2)Thumb指令集三、Cortex M4工作模式ARM Cortex M4有两种工作模式(1)Thread Mode:线程模式 正常模式(2)Hander Mode:处理模式 异常(中断)模式四、Co

2020-09-10 19:04:13 5283

原创 学习笔记1:C++总结

温故而知新,总结过去,展望未来!一、函数重载C++中允许通过换名机制实现函数重载,函数重载是指在相同的作用域中,允许存在多个函数名相同的函数(存在条件:他们的参数个数、参数类型、参数排列必须不同,返回值类型不做要求)。二、异常处理所谓异常,就是程序运行到某一个函数或者方法内部时候,出现了与程序涉及流程不一致的情况,即出错。此时,为了防止程序继续运行下去而导致程序崩溃或者出错,需要对异常进行处理,怎么处理呢?发送一个信号给调用上一级函数,上一级函数收到信号后,进行相应的处理。使用教程1、发送信号:

2020-09-06 20:54:42 143

原创 题目笔记2:求子数组的最大和(c语言实现)

题目要求:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为 O(n)。例如输入的数组为 1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为 3, 10, -4, 7, 2,因此输出为该子数组的和 18。思路:很简单,从头开始,取出一个值,再加上后面的值,得出最大值。类似于选择排序。上代码:#include<stdio.h>#define num 8int mai

2020-09-04 19:12:48 396

原创 题目笔记1:第一个只出现一次的字符(两种解法C语言实现)

题目要求:在一个字符串中找到第一个只出现一次的字符。如输入 abaccdeff,则输出 b。**第一种解法:**遇到该题,我想最简单粗暴的方法便是,**依次拿每一个字符和其他所有字符比较,**如果有相同则说明该字符有重复,如果没有遇到相同的,则说明该字符就是第一个只出现一次,并且没有重复的字符。接下来,上代码!char order1(char *s){ char *p = s; //p作为外循环遍历,用来判断和内循环的内容是否相等 while(*p != '\0')

2020-09-04 19:02:45 606

原创 (完整)SQLite数据库基本语法介绍(SQL语言)

闲来无聊,写点东西。SQL语言一种关系型数据语言,介于关系代数与关系演算之间的结构化查询语言,也是一个通用的,功能及强的关系型数据库语言。接下来介绍其基本用法:(1) CREATE TABLE : 用来创建一个关系表语法: CREATE TABLE 表名 ( 列名1 数据类型 “约束”(有可无) 列名2 数据类型 “约束”(有可无) 列名3 数据类型 “约束”(有可无) ... );//注意,SQL语句要以分号结尾数据类型: integer(size)

2020-09-02 21:31:36 4938

原创 linux文件IO的系统IO和标准IO理解

存储在硬盘等物理存储器上的文件如何进行读取等操作?如果我们直接对其进行读写等操作,也是可以滴,不过这就需要很费时费力,需要对硬件的物理构造有清楚的了解,很明显,这很影响开发效率。当然也不排除某些特殊场合需要用到,但是大多数情况下,这种“低级的”操作,早已经被人们开发出来的一个叫做“操作系统”的东西给替代。操作系统是对计算机硬件与软件等资源进行管理的程序。想要对文件进行读取,对于非裸奔的计算机来说,通过操作系统这个中介来实现文件的读写是很不错的选择!!操作系统会提供接口函数,对于我们来说,一般只需要会用就

2020-07-01 09:10:20 742

原创 c语言实现linux下的 ls -l命令

#include <stdio.h>#include <unistd.h>#include <sys/types.h>#include <sys/stat.h>#include <stdlib.h>#include <time.h>#include <string.h>#include <dirent.h>#include <errno.h>/* ls_l:列举目录下所有文件信

2020-06-30 10:57:34 628

原创 交叉编译网络配置

一、什么是交叉编译交叉编译简单说就是在一种环境下去编译另外一种环境程序,在一种平台上开发的某一种可以正常运行程序,放在另外一种平台上可能就不能够正常运行,这时候,就需要用到交叉编译来确保程序在不同平台下都可以运行。二、网络配置在进行开发时,需要在虚拟机和开发板之间进行进行数据的交换,交换方式一可以通过一下三种方式。我所采用的工具是secureCRT终端仿真软件工具1、usb用usb传输需要进行挂载,插入usb,进入/mnt/udisk目录,一般来说,回自 动挂 载,进 入到改目录就可以

2020-06-29 09:02:15 397

原创 段错产生原因及调试技巧

在用c语言写代码过程中,稍不留意就会产生段错误,遇到这种情况如何快速定位到问题地方,这里有一个小技巧。将出问题的地方打印出来。具体代码如下:printf("%s %d",_FUNCTION_,_LINE_);语句中:FUNCTION 是编译器的宏,表示当前函数的名字。LINE 也是编译器的宏,表示当前的行数。...

2020-06-20 16:48:46 336

原创 linux基础 之 APT(Ubuntu软件源更换)

APT:advance packing tool这是ubuntu上面功能最强大的命令行软件管理工具—安装、卸载、编译一般来说,安装一个新的ubuntu系统,需要对软件源进行更换有两种更换方法。一种是直接通过鼠标在界面上进行操作(ps:得益于现在的ubuntu系统界面设计越来越人性化)。另一种是在终端通过命令操作,这里主要强调这种操作软件源存放在一个名叫sources.list的文件里面,具体位置:/etc/apt/sources.list要跟换软件源,只需要对其进行修改即可!首先:进入到

2020-05-19 10:12:34 598

原创 linux应用开发 之 文件IO的基本操作

linux应用开发 文件IO基本操作操作文件分为三步:第一步: 打开文件 open函数第二步: 操作文件 read/write/lseek 函数第三步: 关闭文件 close函数对于上述函数的用法 是不是很难记住!没关系,可以找一男人帮助你!linux里面有一个man手册,可以查询到各个函数的用法以及功能open函数 --------> 打开文件 int open(const char *pathname , int flags) pathname : 你要打开文件的路径名

2020-05-12 17:47:41 953 1

原创 c语言结构体简述

c语言程序员可以自己定义的组合数据类型结构体 公用体 枚举以下主要详述结构体:结构体表示:struct test ------->这就是结构体名{类型 成员名1;类型 成员名2;…………}tset1 , * test2;上述表述中: test表示的是结构体名字. test1也是表示的是类型名为test的结构体 --->实际上等于struct test *test2表示的是指针类型为struct test的指针接下来看一个比较复杂的情况struct student

2020-05-11 23:38:16 387

原创 取消键盘筛选功能

Backspace键一次只能删除一个怎么办?一般是误按键盘,启用了启用筛选键功能,将其取消即可恢复!控制面板->轻松使用->更改键盘工作方式,再取消‘启用筛键’选项。通过以上操作以后,就可以想删多少就删多少了...

2020-05-09 16:56:00 2015

原创 Ubuntu找不到共享文件夹目录(VMware Tools没有安装的原因)

昨天安装了Ubuntu18.04,发现找不到共享文件夹hgfs目录,经过一番琢磨,终于找到一个解决办法。这是因为安装VMware Tools,将其安装就好了。在开机状态下,点击安装VMware Tools,如果是在关机的状态,就会显是成黑色。(ps—我这是关机状态的截图,因为我开机状态下截不到图)。注意:如果在开机状态下也是灰色,则需要对虚拟机设置进行一下修改。非常不幸,我刚开始就是灰色,...

2020-04-07 22:55:05 2836

设计模式:01工厂模式-labview实现

工厂模式是一种创造型模式,它就像工厂一样用来生产(创建)对象,用来从一组实现特定逻辑的类中实例化某个对象。本示例采用labview实现

2022-11-11

Labview界面多按钮控件的一种处理方法

当界面中存在多个按钮控件时候,此时如果逐个为每个控件添加事件条件则会显得较为麻烦,此处提供了一种对多控件进行批量处理的方法

2022-10-24

labview学习笔记7:labview二维数组搜索匹配

实际中,经常需要用到对数组的操作,特别是一维数组、二维数组操作,labview中提供了搜索一维数组函数,但是没有提供搜索二维数组。本文章主要实现对字符串二维数组的搜索并返回指定内容。

2022-06-26

SQL server 数据库表的配置及其.docx

SQL server 数据库表的配置及其 表的导入导出 在实际应用中,需要对测试数据进行存储,以便于后续对数据进行查询。这里介绍SQL SEVER数据的表的配置及其数据库的导入和导出等操作。 在配置中,首先要明确要做的事情,这里主要做一下几个事情 1、 登录数据库 2、 新建数据库 3、 新建表 4、 新建登录名 5、 配置表的主键和权限 为什么要进行数据库的导入和导出? 第一:在一台新的电脑电脑安装软时候,如果数据是存储在本地电脑,当软件内部没有实现船舰数据库创建表的功能时,需要进行数据库表的导入。 第二:方便数据的移动,数据导出到文件,则可以将数据库通过U盘等很方便的移植到别处 数据的导入导出分两种情况,一是内网之间,二是以文件的形式

2021-09-05

Labivew实现Excel读写通用.rar

实现对excel表格的读取和写入

2021-08-15

windows下的标准计算器(labview实现).rar

整体思路 消费者模型框架,一个线程事件驱动产生任务入队列,一个线程专门执行任务队列,二者互相协作;计算器主要有三部分按键,数字按键,符号按键,运算按键,删除按键,等号按键,可对其进行归类处理;另外,计算过程可以简化位,操作数1 +操作码 + 操作数2 = 操作结果,如 2 + 5 = 7,2和5分别为操作数1、2。‘+’为操作码,7为结果,如此,整个计算过程便可以按此操作。综上,整体功能便可实现,剩下就是处理特殊情况,本资源尚存在待完善之处,若读者感兴趣,可进行进一步完善。

2021-01-22

ftp服务器(tcp实现).rar

ftp服务器,用tcp实现 包含两部分:服务器部分(server.c),客户端部分(client.c) 可以实现功能 1、获取服务端文件名 2、上传文件 3、下载文件 文件类型可以是图片、ppt、word、MP4,MP3等文件类型 同时,该服务器具有并发功能,可供多个服务器连接。

2020-07-23

2048游戏.rar

基于arm开发板的2048游戏的实现:实现功能及其原理如下: 2048是平面二维游戏,在4*4图片方格内,通过对滑动方向(上、下、左、右)的判断实 现对各个图片的移动、合并(在沿滑动方向上,两相邻元素值相等或者两相等元素值之间 的元素内容为空(即为0),即要进行合并)等操作。 首先:需要实现的是在屏幕上显示出相应界面,这涉及到对lcd屏幕的操作,arm开发版运行 的是linux系统,通过对设备文件(路径为/dev/fb0 的文件)进行操作,实现现屏幕显示功能。 因为是系统内的文件,采用系统IO函数实现,主要是open、read、write、lseek函数。同时 为了提高显示效率,还采用了mmap映射函数。 其次:该游戏需要判断出滑动的方向,来实现对相应图片的移动、合并操作,所以还需要对 触摸屏设备文件(路径名为/dev/input/event0 的设备文件)进行操作。要判断出滑动类型, 获取点下屏幕时的坐标点x1、y1以及离开屏幕时的坐标点x2、y2。根据两值只差可判断出 滑动方向(差值绝对值大的,滑动方向就是哪边) 实现对图画的移动、合并操作,这是本游戏设计的一大难点,本项目 采用如下方法实现该功能: 该游戏本质上是对二维数组的操作,该项目中,定义了如下量 //该节点用来保存4*4二维数组每一个元素的信息 struct position { int x; int y; int data; char *names; }; struct position * pos[4][4] = {0}; char *name[12]; //指向要显示图片的路径名 结构体用来保存二维数组中每一个元素的信息,x、y保存的是显示图片的位置信息, data保存的是图片对应的值(根据此值可以显示出相应的图片,如果值为8,则显示值 为8的图片),names是一个字符型指针,指向的是要显示图片的路径名信息(该信息保 存在char *name[12]的指针数组中,该数组指针保存了路径名信息)。 据此,便可以显示出相应的图片,接下来便是操作 pos[4][4]是一个二维数组,当朝着一个方向滑动时,便需要根据pos->data 值进行 相关操作 ,研滑动方向上,判断第一个元素值是否为0(空白图片表示值为0),如果为0 则继续找,直到找到下一个不为0的元素,然后将该值赋值给开头元素,该元素置0, 如果开头元素不为0,那么就往后面寻找,直到找到一个不为0的元素,如果该元素与开头元素 值相等,则合并(开头元素值乘以2,然后该元素置0)。以上便是一轮判断,然后开头元素再 往后挪一个,按照同样的方法判断,进行相关操作。 然后,还需要有产生随机数的功能, 定义了两个值XX ,YY,用rand函数产生小于4的两个数,然后对二维数组pos进行遍历, 如果pos[i][j]->data == pos[XX][YY]->data 那么就可以在改位置产生随机数,否则,就重新产 生一次随机数,直到产生为止,产生不了则游戏结构 最后, 为了实现计分功能,通过计算,在像素坐标点为(50,20)(75,20)(100,20)(125,20)的位置显示出0到9的数字, 通过计分,可以将所得分数在该四个点显示出

2020-07-08

空空如也

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

TA关注的人

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