自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 资源 (3)
  • 收藏
  • 关注

原创 Windows下安装搭建MQTT服务器

这里我使用的windows系统,下载对应版本工具:emqx-windows-v4.1-rc.2.zip。到这里,就说明MQTT服务器已正常运行。就可以使用其它支持MQTT客户端的设备进行连接使用了。确保emqx已正常运行后,可在浏览器中输入: http://127.0.0.1:18083。服务器常用的有emqx,还有apache apolle,这里用的是emqx。emqx控制台的使用,大家可以自己去摸索看看,这里就不做详细说明了。emqx还提供了强大的控制台服务,进入控制台可进行各种配置。

2023-05-24 09:46:00 2040 1

原创 讯飞星火认知大模型 VS CHATGPT3.5

星火大模型相比chatgpt,在文本方面会更胜一筹,在逻辑推理(结果正确)和代码能力方面会差一点,尤其是代码方面,落后较多,不过很高兴能够体验到国产的大模型,随着大模型的发布,后期的更新迭代,超过chatgpt的一天会很快到来!两个模型给出的结果都是差不多的,基本满足要求,不过chatgpt给出的结果比较清晰,分段说明,比较明了,算是打了平手吧。这个问题chatgpt给出的答案是正解,星火大模型理解错了题意,给出的修改版完全改变了函数的功能,代码能力,需要增强啊。星火大模型给出的更加详细。

2023-05-06 15:42:58 1543

原创 嵌入式设备websocket实现

该示例代码实现了一个简单的websocket server,它监听指定的端口并等待客户端连接,对于接收到的不同类型的websocket数据帧作出回应。你可以运行该程序,然后在网页中使用JavaScript编写websocket client并与之交互。需要注意的是,以上代码仅为示例代码,实际使用时需要根据具体情况进行修改。在使用 WebSocket 通信时,还需要注意跨域访问等问题。三个方法分别用来建立连接、发送消息和关闭连接。方法来绑定按钮的点击事件,然后分别调用上述三个方法。上述代码中,我们声明了。

2023-04-11 11:48:32 843

原创 APN是什么?

APN是Access Point Name的缩写,直译为访问点名称。在移动通信网络中,APN用于标识和定位移动设备所需要的数据网络。可以理解为一个唯一的标识符,通过该标识符,移动设备可以连接到相应的数据网络,从而实现数据通信和互联网访问。在使用移动数据通信时,用户需要设置相应的APN接入点,以便访问正确的数据网络。根据不同的运营商和网络要求,APN的设置可能存在差异,并且需要填入相应的参数信息,例如APN名称、用户名、密码等。APN的使用可以帮助移动设备在移动通信网络中正常地进行数据通信和互联网访问。

2023-04-10 13:52:48 7057

原创 函数指针和指针函数

指针函数是指返回一个指针的函数,通常用于动态申请内存、字符串操作等场景。定义指针函数时需要指定返回值类型和参数类型列表,返回值类型为指针类型。在这个示例中,create_array 函数返回了一个指针,指向动态申请的 int 类型数组,可以通过内存操作函数对这个数组进行操作。函数指针是指可以指向函数的指针变量,通常用于回调函数、动态库加载等场景。定义函数指针时需要指定函数的返回值类型和参数类型列表。

2023-04-10 13:36:29 59

原创 linux开发中多网卡管理切换逻辑及方法

检测网络状态:使用系统提供的工具,如ifconfig、ip等命令,检测系统当前网络状态,包括网络是否正常连接、IP地址、网关、DNS等信息。切换网络:根据选择的网络,使用系统提供的工具,如ifconfig、ip等命令,进行网络切换,包括绑定IP地址、设置网关、DNS等信息。选择网络:根据检测到的网络状态和应用程序要求的网络要求,选择要使用的网络,如选择最快的网络、最稳定的网络等。监控网络状态:使用系统提供的工具,如ping等命令,检测网络连接状态,以保证网络的可靠性和稳定性。

2023-04-10 10:35:19 1130

原创 MT7628修改vlan不生效

另外:可以看到在/etc/init.t/network start/restart时都会调用到setup_switch()函数;原文链接:https://blog.csdn.net/junglefly/article/details/81347200。在package/ramips/applications/switch/files/switch-7621.sh中修改。在package/ramips/applications/switch/files/switch.sh中修改。

2023-04-07 16:16:57 419

原创 网络模块AT指令集

一. 一般命令1.AT+CGMI 给出模块厂商的标识。2.AT+CGMM 获得模块标识。这个命令用来得到支持的频带(GSM 900,DCS 1800 或PCS 1900)。当模块有多频带时,回应可能是不同频带的结合。3.AT+CGMR 获得改订的软件版本。4.AT+CGSN 获得GSM 模块的IMEI(国际移动设备标识)序列号。5.AT+CSCS 选择TE 特征设定。这个命令报告TE 用的是哪个状态设定上的ME。ME于是可以转换每一个输入的或显示的字母。这个是用来发送.读取或者撰写短信。6

2023-04-06 15:36:10 3854

原创 URL post数据解码

【代码】URL post数据解码。

2023-03-20 17:59:53 180

原创 openwrt 模块编译与opkg应用

openwrt 编译一般都是make V=s,编译整个固件。如果需要编译某个模块的话可以使用。使用浏览器观察无变化时,请确定是否已清除浏览器缓存。(XXX代表你的模块)。这样既方便又省时间。编译luci-app应用。

2023-02-17 10:56:38 277

原创 openwrt开发板与ubuntu nfs挂载

其中 192.168.10.100 是我们的 NFS 服务器 IP,/mnt/是 NFS 服务器上的共享目录,/mnt/client_sharedfolder 是客户端系统上的挂载点。其中 NFS server: 目录是 NFS 服务器 IP 及其共享目录,挂载点是 NFS 目录挂载的客户端机器上的挂载点,nfs 定义文件系统类型。777是最高权限,test是挂载目录,-R表示这个目录下的都将是这个权限。然后使用以下格式在 /etc/fstab 文件中添加一个条目。前面是挂载的目录,后边是相应权限。

2023-02-16 18:24:45 1252

原创 Ubuntu16.04及其它版本下载地址

官方下载地址中科大源阿里云开源镜像站兰州大学开源镜像站北京理工大学开源浙江大学其它镜像网站。

2023-02-13 13:26:29 410

原创 C# 结构体与Bytes互转

C#开发上位机时,很多情况需要将字节流与结构体进行转换

2022-12-14 14:46:39 917

原创 PHY寄存器解读

以太网PHY寄存器分析 11、以太网PHY标准寄存器分析 21.1 Control Register 21.2 Status register 51.3 PHY Identifier Register 81.4 Auto-Negotiation Advertisement Register 81.5 Auto-Negotiation Link Partner Base Page Ability Register 91.6 Auto-Negotiation Expan

2022-12-09 14:38:13 4056

转载 VSCode快捷键

vs code 的常用快捷键,vs code 的常用插件,常用的电脑快捷键

2022-08-17 09:55:48 799

原创 Python代码进行局域网内传输文件

1. 准备安装好Python,并配置好环境在cmd中输入python查看是否配置成功显示版本号即为配置成功2. 运行在cmd中输入:// 808为端口,可以不写默认端口为8000python -m http.server 808cmd窗口提示如下即成功开启服务器在浏览器输入局域网IP+端口号即可访问Tips不知道IP?在cmd窗口输入ipconfig /all即可查看开启服务器后显示当前文件夹在需要传输文件的这个位置输入cmd能直达当前文件所在位置..

2022-06-10 11:10:53 757

转载 STM32启动过程详解

一、STM32启动文件详细解析STM32启动文件详细解析(V3.5.0) 以:startup_stm32f10x_hd.s为例;******************** (C) COPYRIGHT 2011 STMicroelectronics ********************;* File Name : startup_stm32f10x_hd.s;* Author : MCD Application Team;* Version

2021-11-03 10:18:46 481

原创 EMC测试有哪些项?

EMC检验项目包含电磁发射(EMI)和电磁抗扰度(EMS)两个方面。电磁发射(EMI)包含的测试如下:辐射发射测试 传导发射测试 骚扰功率测试 电流谐波测试 电源谐波测量 闪烁测试电磁抗扰度(EMS)包含的测试如下:静电放电抗扰度 射频电磁场抗扰度 电快速瞬变脉冲群抗扰度 冲击(包括雷击和浪涌)抗扰度 射频场感应传导抗扰度 工频磁场抗扰度试验 电压跌落短时中断和电压渐降抗扰度...

2021-10-15 10:42:27 2445

转载 MAKEFILE超详解

makefile很重要 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。因为,makefil...

2020-11-16 14:17:25 483

原创 PHY自动协商原理

一、以太网端口工作模式:以太网口的两端工作模式(10M半双工、10M全双工、100M半双工、100M全双工、自协商)必须设置一致。如果一端是固定模式(无论是10M、100M),另外一端是自协商模式,即便能够协商成功,自协商的那一端也将只能工作在半双工模式。如果一端工作在全双工模式,另外一端工作在半双工模式(包括自协商出来的半双工,也一样处理),Ping是没有问题的,流量小的时候也没有任何问题,流量达到约15%以上时,就会出现冲突、错包,最终影响了工作性能!对于两端工作模式都是自协商,

2020-09-10 15:19:32 4841 1

原创 字符串二维数组malloc作为函数入参

该方式是可以直接使用的,主要用于字符串数组作为形参传入函数时使用:void csdfa(char (*aaa)[10]){ rt_strncpy(aaa[0],"nv_sfme",rt_strlen("nv_sfme"));}int eeeeer(void) { int i,j; int row = 4,col = 10; //申请一个 4行 5列的二维数组 char (*ar)[col] = (char(*)[col])malloc(sizeof

2020-09-04 15:23:37 827

转载 C语言字符串操作大全

1)字符串操作strcpy(p, p1) 复制字符串strncpy(p, p1, n) 复制指定长度字符串strcat(p, p1) 附加字符串strncat(p, p1, n) 附加指定长度字符串strlen§ 取字符串长度strcmp(p, p1) 比较字符串strcasecmp忽略大小写比较字符串strncmp(p, p1, n) 比较指定长度字符串strchr(p, c) 在字符串中查找指定字符strrchr(p, c) 在字符串中反向查找strstr(p, p1) 查找字符串

2020-09-03 10:46:00 324

转载 cJSON方法详解

一、JSON概述1.1 JSON介绍JSON:JavaScript对象表示法(JavaScript Object Notation)。是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似C语音家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。JSON解析器和JSON库支持许多不同

2020-09-03 09:21:37 2709

原创 python目录相关操作方法

import os获取当前目录print os.getcwd()print os.path.abspath(os.path.dirname(__file__))获取上级目录print os.path.abspath(os.path.dirname(os.path.dirname(__file__)))print os.path.abspath(os.path.dirname(os.getcwd()))print os.path.abspath(os.path.join(os.getcwd()

2020-08-28 09:43:25 2817

转载 python 中 global 作用和全局变量实现方式

摘要global 标志实际上是为了提示 python 解释器,表明被其修饰的变量是全局变量。这样解释器就可以从当前空间 (currentscope) 中读写相应变量了。Python 的全局变量是模块 (module) 级别的每个 python 函数拥有对应的 globals 字典,该字典与函数所属模块的 __dict__字典完全相同。函数的全局变量也会从这个字典中获取注:上面三句话的意思就是,python 解释器发现函数中的某个变量被 global 关键字修饰,就去函数的 __globa

2020-08-25 10:39:17 3221

转载 os.path.join

os.path.join()函数:连接两个或更多的路径名组件1.如果各组件名首字母不包含’/’,则函数会自动加上2.如果有一个组件是一个绝对路径,则在它之前的所有组件均会被舍弃3.如果最后一个组件为空,则生成的路径以一个’/’分隔符结尾Demo1import osPath1 = 'home'Path2 = 'develop'Path3 = 'code'Path10 = Path1 + Path2 + Path3Path20 = os.path.join(Path1,Path2,Pat

2020-08-04 09:16:09 2813

转载 HardFault错误信息分析定位

一、背景知识简介1.发生中断时处理器的行为不考虑其他细节,M3内核在发生中断时首先自动将如下8个寄存器压栈。因此在中断处理函数中,发生中断时正常执行时的寄存器数值已经被压入了堆栈中。在中断处理函数开始执行时,除了PC,LR,SP等控制寄存器,从r0-r12等这些通用寄存器的数据是没有变化的。下图描述了M3内核将寄存器压栈的顺序:2、编译器通过栈来实现函数调用C编译器通过栈来实现函数的调用,即在栈中记录程序执行的轨迹并辅助寄存器进行参数传递。具体如何实现C函数的调用,历史上有很多的规范,这些规范叫做

2020-07-31 16:50:09 4130

原创 ubuntu开启SSH服务

开启 Ubuntu 的 SSH 服务以后我们就可以在 Windwos 下使用终端软件登陆到 Ubuntu,比如使用 SecureCRT, Ubuntu 下使用如下命令开启 SSH 服务:sudo apt-get install openssh-server上述命令安装 ssh 服务, ssh 的配置文件为/etc/ssh/sshd_config,使用默认配置即可。...

2020-07-29 15:05:30 2908

原创 ubuntu开启nfs服务

1、使用如下命令安装 NFS 服务:sudo apt-get install nfs-kernel-server rpcbind2、等待安装完成,安装完成以后在用户根目录下创建一个名为“linux”的文件夹,以后所有的东西都放到这个“linux”文件夹里面,在“linux”文件夹里面新建一个名为“nfs”的文件夹,使用如下命令打开 nfs 配置文件/etc/exports:sudo vi /etc/exports3、打开/etc/exports 以后在后面添加如下所示内容:/linux/n

2020-07-29 15:04:41 3780

原创 ubuntu下samba使用配置

1.安装$ sudo apt-get install samba2.vi /etc/samba/smb.conf添加到最后以下内容:[share]comment=this is Linux share directorypath=/public=yeswritable=yes[homes]comment = Home Directoriesbrowseable = yesread only = nocreate mask = 0644directory mask = 0755

2020-07-29 14:40:45 242

转载 解决connect阻塞

步骤1: 设置非阻塞,启动连接实现非阻塞 connect ,首先把 sockfd 设置成非阻塞的。这样调用connect 可以立刻返回,根据返回值和 errno 处理三种情况:(1) 如果返回 0,表示 connect 成功。(2) 如果返回值小于 0, errno 为 EINPROGRESS, 表示连接建立已经启动但是尚未完成。这是期望的结果,不是真正的错误。(3) 如果返回值小于0,errno 不是 EINPROGRESS,则连接出错了。步骤2:判断可读和可写然后把 sockfd 加入

2020-07-27 12:28:48 1296

转载 PPP和PDP激活区别

From: http://www.mscbsc.com/askpro/question.php?qid=16261ppp相当于链路层协议 socket套接字,对tcp/ip协议的封装、应用 gprs上网首先要设置pdp,接着建立ppp连接,ppp连接建立后,就可以进行tcp/ip传输了, 要进行tcp/ip数据传输,很多时候都采用socket.PDP: 是GPRS连接的软硬件环境,指定GPRS连接的接入点APN,连接类型IP或PPP,还有其他一些可选项;PPP: 终端和MODEM之间点对点的协议,包括

2020-07-13 09:50:06 895

转载 STM32H7:解决DMA传输无效的问题

在STM32H743芯片上使用DMA传输数据时,如果出现收不到数据,并且不进入回调函数,基本上是RAM地址映射错误,DMA无法访问目标地址导致的。问题分析:通常使用STM32CubeMX生成项目时,程序默认执行地址是从RAM1: 0x20000000处开始执行,而0x20000000是DTCM段,DMA无法进行访问,这就导致使用DMA传输时无法读写数据,也无法进入回调。STM32H7总线从上图可以看出,ITCM和 DTCM 是不支持 DMA1、DMA2 和 BDMA访问的,而AXI SRAM支持,

2020-05-29 11:43:09 4900 1

原创 CJSON小实例

本文属于个人记录,仅够cjson使用。cjson创建 cJSON * genz = cJSON_CreateObject(); cJSON * usr = cJSON_CreateObject(); cJSON_AddStringToObject(usr,"name","fengxin"); cJSON_AddStringToObject(usr,"passwd","...

2020-05-07 11:00:46 2788

原创 stm32 printf重定向

stm32调试时,有时不太适合打断点的地方,还需要状态,那printf就很符合我们的要求了。不多说,直接上修改方法:首先:添加printf的头文件 :#include “stdio.h”其次:改写int fputc(int ch, FILE *f)函数int fputc(int ch, FILE *f);寄存器版int fputc(int ch, FILE *f){US...

2020-04-26 09:59:55 3271

原创 QT 中的数据类型转换

QT 中的数据类型有很多的,在写代码的过程中难免会遇到 数据类型的转换。1、QString转QByteArrayQByteArray byte;QString string;byte = string.toLatin1();2、QByteArray转QStringQByteArray byte;QString string;string = QString(byte)...

2020-03-25 16:56:53 3256

转载 (*((void (*)(void))(*(unsigned long *)0x2c)))(); 是什么意思?

(((void ()(void))((unsigned long )0x2c)))(); 是什么意思?在8962的boot_demo1中 (((void ()(void))(*(unsigned long *)0x2c)))(); 是什么意思?是把程序引导到地址为0X2C的位置?这个语句会执行位于bootloader的SVC(软中断)异常服务例程,还是分解一下吧:(*(unsigned l...

2020-03-17 13:40:09 3126

转载 LWIP的TCP常用API

1、tcp_arg()该函数用于传递给应用程序的具体状态,在控制块标志建立以后调用,即在函数tcp_new()调用之后才能调用功能指定应该传递给所有回调函数的应用程序的具体状态原型void tcp_arg(struct tcp_pcb *pcb, void *arg)参数pcb: 当前TCP连接的控制块arg: 需要传递给回调函数的参数 返回:无2、tcp_...

2020-03-17 08:56:36 4574

原创 IOT-MQTT协议粗解

1.MQTT 简述MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于 TCP/IP 协议上,由 IBM 在1999年发布。MQTT 最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时...

2020-02-07 23:12:05 3485

原创 双向链表和单向链表

概念:双向链表也叫双链表,是链表的一种,是在操作系统中常用的数据结构,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱,其头指针 head 是唯一确定的。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点,这种数据结构形式使得双向链表在查找时更加方便,特别是大量数据的遍历。由于双向链表具有对称性,能方便地完成各种插入、删除等操作,但需要注意前后方向的操作理...

2020-02-04 12:59:16 3393

Windows ARM版的jlink驱动 V764

Windows ARM版的jlink驱动 V764

2022-05-09

ringbuffer.rar

代码中包含了ringbuferr的所有接口函数,使用简单,直接上手,C语言编写。代码中包含了ringbuferr的所有接口函数,使用简单,直接上手,C语言编写。

2020-04-26

68013 FIFO Verilog

程序实现对68013的FIFO进行读写,语言为Verilog HDL。

2015-06-07

空空如也

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

TA关注的人

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