自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(137)
  • 收藏
  • 关注

原创 【698协议】帧校验算法

【698协议】帧校验算法

2024-05-26 16:44:02 280

原创 【python】串口双向透传python小程序

串口双向透传python小程序。

2024-05-24 00:12:55 114

原创 【数据处理】中位数绝对偏差,排除异常值,少数服从多数

MAD数据处理,排除异常值,少数服从多数,c语言实现

2024-03-19 00:21:48 649

原创 【JavaScript】MQTTX-脚本-自定义函数-payload json格式化

【代码】【JavaScript】MQTTX-脚本-自定义函数-payload json格式化。

2023-10-25 10:05:19 404

原创 【JavaScript】MQTTX-脚本-自定义函数-payload过滤

【代码】【JavaScript】MQTTX-脚本-自定义函数-payload过滤。

2023-10-25 09:59:42 444

原创 【c/c++】c和cpp混合编译

在这段代码中,#ifdef __cplusplus 和 #endif 之间的代码是为了在 C++ 中使用 C 语言的函数声明和定义时,确保编译器正确地处理 C 和 C++ 之间的语法差异。这是因为 C 和 C++ 有一些不同之处,包括函数名的重载、类型转换等。在这段代码中,extern “C” 是一个 C++ 的特性,它告诉编译器要按照 C 的方式来处理其中的函数。:这个条件编译指令检查是否正在编译 C++ 代码。__cplusplus 是一个宏,当编译器编译 C++ 代码时,它会被定义。

2023-09-01 18:58:41 3035 1

原创 【windows】查看和开放特定的端口

按下 Win + R 键,然后输入 “control” 并按下 Enter 键,打开控制面板。在控制面板中,选择 “系统和安全”,然后选择 “Windows Defender 防火墙”。在右侧窗口中,点击 “入站规则”,然后在右侧面板点击 “新建规则…可以选择 “公共”、“专用” 或 “域”,具体根据你的网络设置选择。选择 “特定本地端口”,然后输入要打开的端口号(例如,1883)。在向导中选择 “端口” 选项,然后点击 “下一步”。选择 “允许连接”,然后点击 “下一步”。检查配置,然后点击 “完成”。

2023-08-28 14:05:23 29842

原创 【c语言】snprintf和strncpy

snprintf是C语言中用于格式化字符串输出的函数,用于将格式化的数据写入一个字符串缓冲区。与printf不同,snprintf允许您指定输出的最大长度,以避免缓冲区溢出。如果传递给snprintf的第二个参数小于等于输出的字符数(包括结尾的null字符\0),snprintf会确保输出的内容不会超出指定的长度,并在缓冲区的末尾添加一个null字符来终止字符串。这样可以防止缓冲区溢出,并确保输出的字符串始终是以null字符结尾的合法字符串。

2023-08-14 18:27:51 820

原创 【设计模式】 策略模式

(Strategy Pattern)是一种行为型设计模式,它定义了一系列算法,将每个算法封装起来,使它们可以相互替换,让客户端代码和算法的具体实现解耦。这样,客户端可以根据不同的需求选择不同的算法,而无需修改原有的代码。

2023-07-30 12:24:43 720

原创 【设计模式】简单工厂模式

工厂模式是一种灵活且可扩展的设计模式,它通过封装对象的创建过程,帮助我们降低代码的耦合度,并支持系统的扩展和维护。然而,工厂模式也有一些局限性,例如增加了类的数量和抽象性,可能会增加代码的复杂性和理解难度。:如果需要添加新类型的产品(图形),只需要添加一个新的产品类和对应的工厂方法即可,不需要修改现有代码,符合开闭原则。:客户端只需与抽象产品和抽象工厂进行交互,不关心具体的产品类和工厂类,隐藏了产品对象的具体实现。:每个具体产品都需要一个对应的具体工厂类,如果产品较多,会增加类的数量,增加系统复杂性。

2023-07-30 10:37:17 633

原创 【JavaScript】 var let const 的区别

推荐使用let和const来声明变量,因为它们提供了更严格的作用域规则和更安全的变量声明方式。只有在特定情况下需要在整个函数内部使用变量时,才应该使用var。let声明的变量具有块级作用域,意味着在{}内声明的变量只在该块内部可见,在外部不可访问。let是在ES6(ECMAScript 2015)中引入的声明变量的关键字。let声明的变量可以被重新赋值,但不可以重新声明。

2023-07-25 22:40:05 197

转载 Windows 启用 SSH 作为远程主机

安装后,可从使用 PowerShell 安装了 OpenSSH 客户端的 Windows 10 或 Windows Server 2019 设备连接到 OpenSSH 服务器,如下所示。扫描列表,查看是否已安装 OpenSSH。设置完成后,回到“应用”>“应用和功能”和“可选功能”,你应会看到已列出 OpenSSH。选择“是”后,该服务器会添加到包含 Windows 客户端上的已知 SSH 主机的列表中。系统此时会提示你输入密码。打开“设置”,选择“应用”>“应用和功能”,然后选择“可选功能”。

2023-07-24 20:29:13 298

原创 freeRTOS-------任务间同步

在嵌入式系统或RTOS中,任务间的同步是一个常见且重要的需求。二值信号量提供了一种简单而有效的方式来实现这种同步。通过使用xSemaphoreTake()和xSemaphoreGive()函数,我们可以方便地实现任务的阻塞和唤醒,保证任务按照我们预期的顺序执行,从而避免潜在的竞态条件和逻辑错误。务必在使用信号量时小心避免死锁和其他同步问题,合理规划任务的优先级和同步机制,确保系统稳定可靠地运行。

2023-07-20 23:40:58 760

原创 虚拟机防火墙怎么开放emqx网页18083端口给主机

现在,您的虚拟机防火墙应该已经开放了EMQX网页18083端口,使得主机可以访问。请确保主机和虚拟机在相同的网络中,并且您在主机上使用虚拟机的IP地址来访问EMQX网页。如果您使用的是其他防火墙管理工具(例如iptables),则需要相应地使用适当的命令来开放端口。如果防火墙状态为"not running",表示防火墙已禁用,您无需进行额外设置。如果默认区域与"public"不同,请在下面的命令中将其替换为正确的区域名称。这将在默认区域中添加一个永久的端口规则,允许通过TCP协议访问18083端口。

2023-06-15 21:21:40 1473

原创 查看centos防火墙

请注意,上述命令中的firewalld是CentOS 7及更高版本中默认的防火墙管理器。如果您使用的是CentOS 6或更早的版本,则可能使用iptables来管理防火墙。在这种情况下,您可以使用相应的iptables命令来查看和管理防火墙规则。如果您想修改防火墙设置,建议在更改之前备份防火墙配置,并确保您了解所做更改的影响。这将显示防火墙的当前状态(是否正在运行)以及其他相关信息。这将显示防火墙中活动区域的列表以及每个区域的接口。这将列出防火墙中已打开的端口列表。这将列出防火墙中已定义的服务列表。

2023-06-15 21:16:10 8567

原创 ESP 32 分区表

ESP32分区表

2023-05-27 21:19:56 119

原创 windows 10安装wsl2

启用虚拟化功能:WSL2需要启用虚拟化功能,可以在BIOS中开启虚拟化技术,并在“控制面板”-“程序”-“启用或关闭Windows功能”中勾选“虚拟机平台”和“Windows子系统Linux”。重启电脑。安装WSL2组件:在“Microsoft Store”中搜索“Ubuntu”或其他Linux发行版,选择安装并启动,会自动下载WSL2组件。如果想要将ubuntu安装到其他盘,如将Ubuntu 20.04 安装在 D:\wsla. 进入D:\wsl ,运行下面的命令下载ubuntu20.04。

2023-05-26 19:54:29 1502

原创 Ubuntu 上更换软件源的详细步骤

ubuntu 换源

2023-05-26 18:57:14 8892 1

原创 ubuntu修改环境变量的几种方法

ubuntu修改环境变量的几种方法

2023-05-25 22:04:29 5139 1

原创 C语言-------i++和++i的区别

i++和++i的区别

2023-04-30 19:33:16 2941 1

原创 替换字符串中出现的某段字符串的C语言和C++实现方式

字符串替换

2023-04-28 22:56:10 638

原创 C语言-------Linux下检测某个文件是否存在

linux下检测某个文件是否存在

2023-03-27 18:21:17 2795

原创 C语言-------宏#define

预处理时发生的宏展开。

2022-11-11 19:33:24 318

原创 Gitlab CI/CD

推荐的 关于gitlab CI/CD 搭建的教程。

2022-11-09 00:19:55 120

原创 C语言-------简单代码风格.clang-format配置文件

【代码】C语言-------简单代码风格.clang-format配置文件。

2022-10-21 13:55:16 537

翻译 clang-tidy

clang-tidy 使用

2022-10-16 15:53:02 3904

原创 如何查找linux指令或者资料的说明

如何查找linux指令或者资料的说明

2022-09-17 10:44:50 337

原创 vim 文本替换

常规替换正则匹配替换正则:

2022-06-19 01:40:40 569

原创 linux环境下查看日志文件的一些操作

linux日志查看技巧

2022-06-16 21:47:44 255

原创 linux交叉编译依赖包

linux交叉编译依赖包

2022-06-16 19:57:44 284

原创 C语言-------数组越界的问题

问题:定义一个数组array[5],那么数组包含了array[0],array[1],array[2],array[3],array[4],那array[5],array[6]…会是什么呢?很多书里面都会说array[5]会出现下标越界的错误,没错这确实是越界了,但实际上编译器并不会给你报错。下面来看一段代码#include <stdio.h>void showArray(int *array, int arrayLenth){ for (int i = 0; i < ar

2022-03-08 00:47:59 1096 1

原创 简单java类----Time类

class Time { private int hour; private int minute; private int second; private static int count = 0; public Time() { this(0, 0, 0); } public Time(int hour, int minute, int second){ this.hour = hour; this.minute = minute; this.second = secon

2022-02-27 21:02:21 1471

原创 解析URL, 从中解出来host, path

来源:https://help.aliyun.com/document_detail/163755.html阿里云物联网平台,C Link SDK中的aiot_ota_api.c/* 解析URL, 从中解出来host, path */static int32_t _download_parse_url(const char *url, char *host, uint32_t max_host_len, char *path, ui

2022-02-24 21:31:03 5747

原创 C语言-------结构体定义时赋值的三种方式

#include <stdio.h>struct Time{ int hour; int min; int sec;};//必须按照结构体顺序struct Time t1={ 17, 49, 54};//与结构体顺序无关struct Time t2={ .min=49, .sec=54, .hour=17};//与结构体顺序无关struct Time t3={ min:49, sec:54, hour:17};int main(){ p

2022-02-16 17:59:35 6171

原创 Makefile

GNU Make 使用手册(中译版)官方make文档

2022-01-27 13:40:28 377

原创 Ubuntu下重命名硬盘以及修改权限

Ubuntu下重命名硬盘以及修改权限查看电脑上所有硬盘分区的卷标及uuid,sudo blkidjohn@john-YangTianT4900k-09:~$ sudo blkid[sudo] password for john: /dev/loop0: TYPE="squashfs"/dev/loop1: TYPE="squashfs"/dev/loop2: TYPE="squashfs"/dev/loop3: TYPE="squashfs"/dev/loop4: TYPE="squa

2022-01-11 00:14:38 2466

翻译 MQTT Essentials(Basics(1-5) And Features(6-10))

文章目录Basics一、简介一些历史参考资料二、Publish & SubscribeThe publish/subscribe patternMessage filteringOPTION 1: SUBJECT-BASED FILTERINGOPTION 2: CONTENT-BASED FILTERINGOPTION 3: TYPE-BASED FILTERINGMQTTDistinction from message queues总结参考资料三、MQTT客户端和代理、MQTT服务器和连接建立解

2022-01-03 14:00:25 627

原创 IPv4地址(网络层)

特殊IP地址私有IP地址分类的IP地址

2022-01-02 17:31:33 1131

原创 进程同步、进程互斥

进程同步并发执行的两个进程必须保证“一前一后”执行的两个操作(或两句代码)进程具有异步性的特征。异步性是指,各并发执行的进程以各自独立的、不可预知的速度向前推进。进程同步就是解决进程异步的问题。同步亦称为直接制约关系,它是指为完成某种任务而建立的两个或多个进程,这些进程因为需要在某些位置上协它们的工作次序而产生的制约关系。进程间的直接制约关系就是它们之间的相互合作。进程互斥一个时间段内只允许一个进程使用的资源称为临界资源。许多物理设备(比如摄像头、打印机)都属于临界资源。此外还有许多变量、

2021-12-04 16:40:19 369

原创 Modbus-RTU协议(应用层协议)

https://mp.weixin.qq.com/s?__biz=MzAwNjQ4OTE4Mw==&mid=2247488019&idx=1&sn=b20f87aff45f551ed547bcf11f514ba2&chksm=9b0dc723ac7a4e35924338b76f356a16d9ddc23519278e3f0912edd5140c4b3681599f0b3305&scene=178&cur_album_id=1916651747352117252

2021-12-03 09:59:48 1919

空空如也

空空如也

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

TA关注的人

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