自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(90)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 keil C51基本数据类型

2024-05-29 11:54:34 104

原创 STM32Cube的下载与安装

下载链接:https://www.st.com/zh/development-tools/stm32cubemx.html#tools-software。下载地址:https://www.st.com/zh/development-tools/stm32cubemx.html#get-software。继续往下拉,会找到支持包列表,选择需要的系列,点击。跳转至下载页面,拉到最下面,点击“获取最新版本”选择对应的包,点击“Install”安装即可。下载完成之后,选择本地安装,2、芯片支持包的安装。

2024-04-29 15:20:59 317

原创 C 位域(位结构体)

一个位域存储在同一个字节中,如一个字节所剩空间不够存放另一位域时,则会从下一单元起存放该位域。也可以有意使某位域从下一单元开始。

2024-04-22 18:11:35 640

原创 winform跨线程访问控件

net 原则上禁止跨线程访问控件,因为这样可能造成错误的发生,有一种方法是禁止编译器对跨线程访问作检查,Control.CheckForIllegalCrossThreadCalls = false;在访问控件是先判断控件的InvokeRequired属性,如果为true,则需要使用Invoke方法;C#中的Invoke方法主要用于在多线程环境下跨线程调用控件方法或者委托。它的作用是确保方法在正确的线程上执行,避免出现线程安全问题。在需要跨线程调用的地方,使用Invoke方法来执行指定的委托。

2024-04-12 16:54:51 312

原创 strncmp判断数组结果异常

strncmp函数为字符串比较函数,字符串大小的比较是以ASCII 码表上的顺序来决定,此顺序亦为字符的值。其函数声明为int strncmp ( const char * str1, const char * str2, size_t n );功能是把 str1 和 str2 进行比较,最多比较前 n 个字节,若str1与str2的前n个字符相同,则返回0;若s1大于s2,则返回大于0的值;若s1 小于s2,则返回小于0的值。

2023-08-14 17:52:13 238

原创 C# Winform实现捕获窗体最小化、最大化、关闭按钮事件

C# Winform实现捕获窗体最小化、最大化、关闭按钮事件

2022-08-09 09:31:51 1834 2

原创 mysql保存数据提示:Out of range value for column错误

mysql保存数据提示:Out of range value for column错误

2022-07-25 18:39:25 938

原创 平均风向风速计算(单位矢量法)

平均风向风速计算,单位矢量法

2022-06-24 14:07:52 5460

原创 mysql 查询最大连接数以及当前连接数

查看mysql当前连接数查看最大连接数

2022-06-13 15:16:29 1285 1

原创 C语言 自写atof、atoi等函数

    在遇到一些flash很小的芯片的情况下,用库函数中的atof、atoi等等一些函数时引用对应库函数后会比较占内存,只能是通过自写函数来达到功能函数名称:atoifloatTocharintTocharmy_atofmy_memcpymy_memsetmy_strncmpatoiint64_t my_atoi(const char * str){ float num; int64_t ret = 0; char sign = 0; while

2022-05-27 16:37:03 236

原创 C# DataGridView知识点(列宽自适应、数据清空)

宽度自适应//指定列this.dgvQueryACountResult.Columns[@"列名"].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;//所有列 this.dgvQueryACountResult.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);//宽度自适应AutoSizeMode 属性枚举值含义: // // 摘要:

2022-05-18 18:46:23 2504

原创 SVN常用命名

1.check out检出获得文件后,检出的文件仍处于SVN版本控制中,与版本库保持关联,比如你可以进行Svn Update或者Svn Commit操作。同时导出文件夹下有一个.svn的隐藏文件夹,存储着一些版本的元数据信息。(对于导入到服务器中的数据,需要检出才能形成一个受svn控制的工作拷贝,才可以进行 add update commit 等操作)2.export 简单导出一个版本的数据(把服务器中的数据导出来,相当于复制一份),导出的文件脱离SVN版本控制(导出的就是一个文件,与svn版本没关系),

2022-05-12 10:11:49 227

原创 Modbus协议数据解析

Modbus通讯协议    Modbus是一种串行通信协议,是Modicon公司(现在的施耐德电气 Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议的业界标准(De facto),并且现在是工业电子设备之间常用的连接方式。    Modbus是一种串行通信协议,是Modicon公司(现在的施耐德电气Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信

2022-04-22 16:39:05 8766

原创 C# 数据结构与算法 -队列

接口定义 interface IQueue<T> { int Count { get; }//取得队列长度的属性 int GetLength();//求队列的长度 bool IsEmpty();//判断是否为空 void Clear();//清空队列 void Enqueue(T item);//入队 T Dequeue();//出队 并删除元素 T Peek();//

2022-04-19 22:10:10 565

原创 C# 数据结构与算法 -栈

interface IStackDS<T> { int Count { get; } int GetLength(); bool IsEmpty(); void Clear(); void Push(T item); T Pop(); T Peek(); } class SeqStack<T> : IStackDS<T> ...

2022-04-17 23:42:33 565

原创 C# 数据结构与算法 -双向链表

interface IlistDS<T> { int GetLength(); void Clear(); bool IsEmpty(); void Add(T item); void Insert(T item, int index); T Delete(int index); T this[int index] { get; } T GetEle(i...

2022-04-17 00:32:00 293

原创 C# 数据结构与算法 -单链表

interface IlistDS<T> { int GetLength(); void Clear(); bool IsEmpty(); void Add(T item); void Insert(T item, int index); T Delete(int index); T this[int index] { get; } T GetEle(i...

2022-04-17 00:30:39 222

原创 C# 数据结构与算法 - 线性表

interface IlistDS<T> { int GetLength(); void Clear(); bool IsEmpty(); void Add(T item); void Insert(T item, int index); T Delete(int index); T this[int index] { get; } T GetEle(i...

2022-04-17 00:29:29 188

原创 C# WinForm TabControl美化

窗口Load加下面代码,ItemSize根据自己显示文本长度调整 #region tabMainItem属性设置 this.tabModuleMainItem.DrawMode = TabDrawMode.OwnerDrawFixed; this.tabModuleMainItem.Alignment = TabAlignment.Top; this.tabModuleMainItem.SizeMode = Ta

2022-04-12 14:22:27 2437

原创 C# 运算符重载

重载运算符是具有特殊名称的函数,是通过关键字 operator 后跟运算符的符号来定义的。与其他函数一样,重载运算符有返回类型和参数列表。 class Box { private double length; // 长度 private double breadth; // 宽度 private double height; // 高度 public double getVolume()

2022-04-11 23:35:30 101

原创 MySQL 外键约束的删除与添加

外键的添加ALTER TABLE <数据表名> ADD CONSTRAINT <外键名>FOREIGN KEY(<列名>) REFERENCES <主表名> (<列名>)CONSTRAINT <外键名> 可以省略掉  外键的删除alter table <数据表名>drop foreign key <外键名>,  外键名的查询show create table <数据表名>;

2022-04-11 11:09:30 411

原创 多任务—死锁问题

class StateObject { private int State1 = 5; private int State2 = 5; Object _Lock1 = new object(); Object _Lock2 = new object(); public void ChangeState1() { lock (_Lock1) { ...

2022-03-27 19:52:14 563

原创 C# 多任务—资源访问冲突问题

多个任务同时访问和修改同一个文件或者数据的时候,由于多个任务同时修改文件或数据,就有可能导致数据出现不可预测的异常错误: class StateObject { private int State = 5; public void ChangeState() { if (State == 5) { Thread.Sleep(1);

2022-03-26 18:43:12 907

原创 C# 多任务—任务的创建

class Program { static void Test() { for (int i = 0; i < 1000; i++) { Console.Write("A "); } } static void FirstDownload() { Console.WriteLi...

2022-03-25 00:18:09 762

原创 C# 窗口关闭再次确认及取消

private void frmMain_FormClosing(object sender, FormClosingEventArgs e) { DialogResult Result = MessageBox.Show("程序将被关闭,请确认是否继续","警告", MessageBoxButtons.OKCancel); if (Result == DialogResult.Cancel) { ...

2022-03-22 10:16:24 1935

原创 C# 线程

线程的优先级可以通过Thread类Priority属性设置,Priority属性是一个ThreadPriority型枚举,列举了5个优先等级:AboveNormal、BelowNormal、Highest、Lowest、Normal。普通线程的优先级默认为Normal;如果想有更高的优先级,可设置为AboveNormal或Highest;如果想有较低的优先级,可设置为BelowNormal或Lowest。控制线程1获取线程的状态(Running还是Unstarted),当我们通过调用Thread对象的S

2022-03-11 22:16:41 1208

原创 C# 反射和特征

元数据与反射  程序是用来处理数据的,文本和特征都是数据,而我们的程序本身(类的定义和BCL中的类)这些也是数据。(BCL:Basic Class Lib基础类库)  有关程序及其类型的数据被称为元数据(metadata),他们保存在程序的程序集中。  程序在运行时,可以查看其它程序集或其本身的元数据。一个运行的程序查看本身的元数据或者其他程序集的元数据的行为叫做反射, class Class { private int a; private int b

2022-01-19 10:04:09 225

原创 c# 委托与事件

事件事件(event)基于委托,为委托提供一个发布/订阅机制,我们可以说事件是一种具有特殊签名的委托。什么是事件?  事件(event)是类或对象向其他类或对象通知发生的事情的一种特殊签名的委托。事件的声明  首先必须声明该事件的委托类型。例如    public delegate void BoilerLogHandler(string status);  然后,声明事件本身,使用 event 关键字:    public event BoilerLogHandler BoilerEven

2022-01-18 20:53:22 512

原创 CSDN Markdown 编辑器插入空格和空行的方法

空格&nbsp; #一个字符的空格&emsp; #大约三个字符的空格例如:xxxxx&nbsp;xxxxx空行&nbsp;或&emsp;<br>或<br/>例如:xxxxx &nbsp;或&emsp;或<br>或<br/> xxxxxx

2022-01-14 23:38:58 544

原创 C# 泛型

c#通过泛型避免强制类型装换,增强类型安全性,减少装箱量,并且让程序员更轻松地创建常规化的类和方法,泛型类和方法接受类型参数,它们指定了要操作的对象的类型,C#是在尖括号中提供类型参数来指定泛型类,如下所示: class Queue<T> { ... }T就是类型参数,作为占位符使用,会在编译时被真正的类型取代。写代码实例化泛型Queue时,需指定用于取代T的类型(int,double等),在类中定义字段和方法时,可用同样的占位符指定这些项的类型。示例代码如下:

2022-01-12 22:34:45 174

原创 C# DataTable使用问题汇总(个人笔记)

1.该行已经属于另一个表dt.Rows.Add(dtQ3.Rows[0].ItemArray);2.不能将 Column“ ”设置为 null。请改用 DBNull DataRow Row = dataTable.NewRow(); Row[0] = DBNull.Value;//在c#中,Null是空指向,不存在对应的存储地址。而DBNull.Value则是指向一个内存为空的地址。//DBNull是指插了一个空值,数据库字段获取到的也是空值,而Null是指程序中空引用,或对象为空,没有

2022-01-12 09:38:32 1397

原创 C# 委托、Action委托、Func委托、多播委托、匿名方法、Lambda表达式

class Program { delegate void delegate_write(string str); delegate int delegate_Sum(int a,int b); delegate int delegate_Test(int a, int b); delegate string delegate_GetString(); static void Main(string[] ar...

2022-01-11 23:44:09 453

原创 C# 时间差获取

static void Main(string[] args) { DateTime time1 = DateTime.Now; DateTime time2 = time1.AddHours(1).AddMinutes(45); TimeSpan span = time1.Subtract(time2).Duration(); //先求差值 再取绝对值 Console.Write...

2021-12-27 15:05:16 391

原创 C# 多线程与信号量

private static Semaphore white = new Semaphore(1, 1);//信号量,第一位数是1,所以先执行white.WaitOne()。 private static Semaphore black = new Semaphore(0, 1);//信号量 /* * new Semaphore(0, 1); 构造函数第一个参数,表示我们还可使用的授权数。 第二个参数表示我们最大可申请的授权数 ...

2021-12-24 09:56:25 394 1

原创 C# 多线程与互斥量

public static Mutex mutex = new Mutex(false); private static int count = 5000; static void Main(string[] args) { Thread Thread1 = new Thread(fun1); Thread Thread2 = new Thread(fun2); Thr...

2021-12-23 17:17:41 576

原创 C# 多线程的创建以及暂停与启动

private static AutoResetEvent Are1 = new AutoResetEvent(false); private static AutoResetEvent Are2 = new AutoResetEvent(false); static void Main(string[] args) { Thread thread = new Thread(fun_thread);//创建线程 ...

2021-12-22 18:30:49 1610

原创 C# 自定义控件无法加载

自己写的一个自定义控件无法在设计模式下使用. 拖动到窗口时提示 " 未能加载工具箱项 "解决方法:将项目的生成平台目标改为 x86或者Any CPU,在这两种模式下进行窗口设计、程序编写;发布的时候再改成x64去编译即可;...

2021-12-20 18:46:01 1869

原创 OpenCVSharp 笔记21 图像旋转

#region 图像旋转 static void Main(string[] args) { //Mat src = new Mat("lenna.png", ImreadModes.AnyColor | ImreadModes.AnyDepth); //Cv2.ImShow("lenna.png", src); //Mat M = Cv2.GetRotationMatrix2D(new...

2021-12-13 00:19:40 3370

原创 OpenCVSharp 笔记20 图像翻转

#region 图像翻转 static void Main(string[] args) { Mat src = new Mat("lenna.png", ImreadModes.AnyColor | ImreadModes.AnyDepth); Mat dsc = src.Flip(FlipMode.X); Cv2.ImShow("src image", src); Cv2.ImShow("Flip image", d...

2021-11-27 11:50:49 2074

原创 OpenCVSharp 笔记19 图像缩放与插值

#region 图像缩放与插值 static void Main(string[] args) { Mat src = new Mat("lenna.png", ImreadModes.AnyColor | ImreadModes.AnyDepth); //函数原型:public Mat Resize(Size dsize, double fx = 0, double fy = 0, Interpolation...

2021-11-27 00:27:39 933

SPL06-001.pdf

SPL06-001.pdf

2021-06-07

AD7173-8_cn.pdf

AD7173-8_cn芯片资料

2020-12-04

ADS1118芯片资料

ADS1118芯片资料

2020-12-04

S25FL512S驱动

S25FL512S_512_Mbit_64_Mbyte芯片资料 S25FL512S_512_Mbit_64_Mbyte芯片资料

2020-12-04

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

TA关注的人

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