自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(146)
  • 资源 (13)
  • 收藏
  • 关注

原创 新唐 mdk pack下载地址

下载链接是。

2025-07-29 14:02:41 64

原创 如何判断栈生长的方向

若入栈之后(

2025-04-05 17:26:37 813

原创 JSON的基础知识

json协议在互联网应用,物联网应用中都会用到。所谓工欲善其事必先利其器,我们需要学习了解json协议的具体格式,以及在某些场景中如何编写json报文。最后,我们再学习了解在嵌入式C语言的环境中时常使用的json库-cjson。

2025-03-31 13:59:15 843

原创 论文阅读方法

摘要一般包含了整篇文章的主要内容,是非常非常重要的部分。作者在写文章时,会使用最精炼的语言将整篇文章的核心表达在摘要里,所以一定要读摘要。如果摘要并不吸引我,可以随时停止下来直接跳过中间的引言、模型介绍、实验等等,阅读结论,看结论是否会对你的有启发,或者你是否对这篇论文的成功感兴趣,如果没有,随时可以停下来。

2025-03-08 19:38:38 1039 1

原创 lvgl在ubuntu中模拟运行

lvgl是一个图像UI的开源框架,用于嵌入式的设备之中。在学习lvgl时,我们最好是现在PC上模拟运行,所以我们学习lvgl的第一步可以说是在我们的电脑上搭建模拟的运行环境。参考官方的操作lvgl在ubuntu上模拟运行。

2025-03-08 19:37:46 686

原创 TDOA 定位算法

文章目录TDOA具体算法如下:解方程TDOA具体算法如下:假设测得标签到第n个基站接收到标签所发出的UWB信号的时刻分别为ti(i=1,2,3,4…n),且假设标签到第n个基站的距离为ri(i=1,2,3,4…n)在基站之间完全同步的情况下,得出定位标签相对于四组定位基站(假设1#、2#为第一组,2#、3#为第二组,3#、4#为第三组,4#、1#为第四组)的距离差di12~di14为:假设空间布有 N 个基站,同时利用多个TDOA 测量值可以构成关于标签位置的双曲线方程组,求解此方程组即可得到标

2025-03-08 14:09:58 1248 1

原创 Linux 生成静态库

文章目录前提小知识生成和使用.a库操作步骤在应用程序中,有一些公共的代码需要反复使用的,可以把这些代码制作成“库文件”;在链接的步骤中,可以让链接器在“库文件”提取到我们需要使用到的代码,复制到生成的可执行文件中。在使用到库文件的代码时候,需要库文件代码的头文件。并且在我们使用到库文件代码的应用程序源代码中,包含这些库文件代码的头文件。前提小知识代码编译的过程:我们C源文件是如何生成可执行文件的:C源文件 -> 预处理 -> 编译 -> 汇编 -> 链接 -> 可

2025-03-08 14:05:19 1086 1

原创 STM32读写片内FLASH 笔记

在通过OTA的方式对设备进行升级,若在使用内部FLASH装载固件程序的方式下,需要擦写 内部FLASH 从而实现把新的固件程序写入到 内部FLASH。参考文档:ST的闪存编程文档。

2025-03-07 22:20:24 1140

原创 经济机器是如何运行的

作为社会上的一份子,我们很有必要去了解设备经济的运行机制。B站上有一个视频很不错,做一个笔记记录一下。有什么不足之处,希望互联网的各位网友可以指出。顾名思义,信贷就是用信用去贷款。信贷是经济中最重要的组成部分,但也许是人们最不了解的。它之所以最重要,是因为它是经济中最大且最为变幻莫测的的一部分。贷款人和借款人于在市场中进行交易的买方和卖方没有两样。通常,贷款人希望自己的钱生出更多的钱,而借款人则想购买当前无法负担的某种东西,例如房子,汽车,或是进行投资,例如开办企业。

2025-03-07 22:19:26 1459

原创 git的使用方法

git是一种软件版本管理工具,在多人团队软件开发中地方非常重要。类似与SVN,git工具可以拉取最新的代码,提交代码等。Git 是一个强大的版本控制系统,广泛应用于软件开发和各种项目中。它可以帮助你跟踪项目文件的变化,协作开发,以及恢复到之前的版本。基础概念:仓库(Repository):存储项目所有文件和历史记录的地方。工作区(Working Directory):你当前编辑文件的目录。暂存区(Staging Area):一个临时区域,用于将你想要提交的更改添加到仓库中。提交(Commit)

2025-03-07 22:18:46 1212

原创 手写数据集代码

以下代码使用了pytorch框架 训练了MNIST手写数据集

2025-03-07 22:16:25 302

原创 Ubuntu的软件源

上图的系统是16.04 xenial,这时就一定要使用16.04 xenial的源。根据下面的网页,选择对应Ubuntu操作系统的源,一定要对应!百度搜索 ubuntu清华镜像源。

2025-03-07 22:14:41 303

原创 ncftp的使用方法

ncftp

2025-03-07 22:14:16 729

原创 SPI学习笔记

(下面讲述SPI由那几根线组成?SPI (Serial Peripheral Interface,串行外围接口) 是一种同步串行通信协议,常用于微控制器与外围设备之间进行数据传输。它使用四条信号线时钟信号由主设备控制,用来同步数据传输。:由主设备发送数据到从设备。:由从设备发送数据到主设备。:由主设备控制,用来选择哪个从设备进行通信。

2025-03-07 22:11:45 1330

原创 用于积雪和冰厚度测量的低成本紧凑型 FMCW 24 GHz 雷达应用 阅读

在本文中,作者描述了一种轻便、紧凑且自主的 24 GHz 调频连续波 (FMCW) 雷达系统,用于淡水冰厚度和雪水当量(SWE)测量。这项研究的新颖之处在于,作者利用了新一代低成本和低功耗的装置,有助于在偏远地区监测冰雪。这篇论文介绍了五种不同的应用场景的测试性能(准确性和限制性)。(1)湖冰厚度测量,精度为2厘米,最大可测量的冰厚约为1米,雷达分辨率为4厘米;(这里是说明雷达可测量的冰层厚度是 4*N ± 2cm)(2)使用遥控飞机,实现对湖面冰层厚度的测量;(3) 基于已知雪深的原位干。

2025-02-22 11:48:09 1209

原创 如何通过windows自带的 mstsc 工具远程连接电脑

场景是,在公司工作时,由于在实验室中,需要使用到工位上的电脑的内容,然后实验室中的电脑没有工位上电脑的内容,这时就可以通过mstsc工具远程连接到工位上的电脑。下面就是具体的操作步骤。

2025-01-23 17:26:11 802

原创 Linux 消息队列的使用方法

Linux 消息队列是一种简单易用的进程间通信机制,可以用于进程之间或线程之间交换数据。它提供了灵活的消息类型和内容存储,但需要谨慎处理线程同步问题,并注意资源释放。使用 IPC_PRIVATE 创建的每个消息队列都是唯一的,即使是同一个进程多次创建,它们之间也是相互独立的,不会共享数据。返回值是接收到的消息大小,如果接收失败,则返回 -1。IPC_CREAT: 如果消息队列不存在,则创建新的消息队列。IPC_EXCL: 如果消息队列已存在,则返回错误,并设置。: 消息类型,用于过滤接收的消息。

2025-01-23 17:23:49 1124

原创 linux系统中的 scp的使用方法

SCP(Secure Copy Protocol)是一种通过加密的方式在本地主机和远程主机之间安全地传输文件的协议。它是基于SSH协议的扩展,允许用户在不同主机之间进行文件复制和传输,是Linux和Unix系统中常用的工具之一。使用 -r 选项可以将远程主机上的目录复制到本地。本文将详细介绍SCP的基本用法、参数。,这时我们需要将当前目录下的 名为。比如说,远程主机的用户名是。路径下,则可以输入如下命令。的文件到 远程主机的。,远程主机的IP地址是。

2025-01-23 17:15:56 829

原创 sqlite3 学习笔记

SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统。SQLite 非常适合用于嵌入式系统、物联网设备、移动应用程序和客户端应用程序,它不需要服务器,简单易用。

2025-01-23 16:52:04 1751

原创 volatile关键字的使用场景

volatile是一个特征修饰符(type specifier).volatile的作用是作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值。

2024-10-16 08:49:51 1152

原创 ME901S-806C 4G cat1模组环境搭建

编译过程出现的问题,找不到.so文件下载安装缺少的文件wget http://security.ubuntu.com/ubuntu/pool/main/i/icu/libicu55_55.1-7_amd64.deb sudo dpkg -i libicu55_55.1-7_amd64.deb

2024-10-12 09:49:20 1077

原创 simcom 4G模组拨号上网

1.首先AT指令配置一下AT+CGDCONT=1,"IP","cmwap"还有个更权威的解释 : WAP上网 AT+CGDCONT=1,“IP”,“cmwap” 命令详解:at+ :modem命令的标头,有它才执行。如 执行 at 返回一个 ok 表示modem接通正常。CGDCONT=1 :定义PDP(分组数据协议类型)上下文,用于规定分组数据协议类型的字符串参数 当你拨99**1# 就表示用CGDCONT=1 定义的分组数据协议类型来上网。"IP “ :在后面加上IP 表示使用因特网

2024-10-12 09:43:48 1576

原创 C语言 利用 不透明指针 实现封装特性

面向对象三大特性是 封装 - 继承 - 多态封装 ( Encapsulation ) :将 数据 和 操作数据的方法 包装在一起 , 隐藏 数据的内部细节 , 防止外界的直接访问和修改;封装后 , 只能通过 对外提供的接口 , 对 封装在内部的属性和方法 进行 访问和操作;继承 ( Inheritance ) : 让 一个 实例对象 获取 另一个 实例对象 的 属性 和 方法 , 在不重写现有代码的基础上实现代码的重用;继承可以 实现出 类的层次结构 , 可以 扩展 现有父类的功能;

2024-10-09 16:18:31 1049

原创 通过Keil5编译软件获取函数最深堆栈

在使用keil5编译工具时,可以通过添加编译选项—info stack,并根据生成的.map文件分析函数的堆栈使用情况,根据实际的使用情况给对应的任务函数分配最大堆栈,减少RAM内存空间的浪费,提高RAM内存空间的使用效率。

2024-10-09 15:42:35 1701

原创 gd32串口打印数据乱码解决方案

当前使用的芯片是GD32F305RC,时钟频率最高可达到120Mhz。在修改了时钟源后,发现gd32串口输入输出的数据乱码了。检查开发板的晶振,发现其石英晶振位8MHZ,还需要根据开发板上的晶振修改晶振的宏。在修改使用源后,即使用如下宏定义,经排查发现原因是:①。

2024-10-09 15:39:54 608

原创 使用KEIL5,不复位MCU,调试到程序运行到卡住之处

经常有朋友在开发中遇到这样的窘境,当单片机程序运行异常以后,由于调试信息做得并不是很全面,导致相应的问题场景非常难分析。当时的你肯定会叹息道:“要是我一直插着仿真器就好了,这个bug还不是分分钟的事~”,每个人都想有颗“后悔药”可吃,然而遇到这种场景也并非绝路。主要是因为大部分朋友插上仿真器以后,调试器在启动时会发出硬件重置信号,应用程序当前的状态都会丢失,包括内存变量、状态等等,对于一些长时间的偶发故障调试更不太友好。

2024-10-09 15:39:00 1366 2

原创 openwrt 配置4G网卡 simcom7600ce

在mt7628芯片上,操作系统使用openwrt21.02.1版本,4G模组使用SIMCOM7600CE-T的miniPCLE的版本,配置4G模组成为网卡模式sim7600ce拨号上网OpenWRT安装SIM7600CE 4G模块驱动。

2024-10-09 15:37:25 2095

原创 PPT制作学习笔记

文章目录PPT制作核心要义通过单页面来演示如何降低阅读成本文字搭配文字提炼PPT数据表达数据表达形式数据表格制作数据图表制作PPT制作核心要义PPT的目的不是好看,而是好读!做PPT不是给自己看的,而是给一个没有看过的人看,所以所以快速让对方通过PPT理解你输出的内容才是排版要完成的使命。所以思考如何排版,就相当于思考如何降低对方的阅读成本,快速理解你的内容,在节奏越来越快的今天尤为如此。如何降低阅读成本是PPT制作的第一个要素。通过单页面来演示如何降低阅读成本假定刚刚敲出的内容都是文字,

2024-10-09 15:33:54 1590

原创 Ubuntu QT 交叉编译环境搭建

下载安装qtCreator去QT下载官网下载对应需要的QT软件。这里下载5.12.96版本的改变安装包权限,然后,sudo运行安装包。安装在opt目录下安装完成。到安装路径QtCreator的bin目录中 找到应用的开启程序:后台运行QtCreator:/opt/Qt5.12.9/Tools/QtCreator/bin/qtcreator.sh &not a valid identifier 的错误今天上午搭建交叉编译环境,安装arm-linux-gcc时,source

2024-10-09 15:32:00 2483 2

原创 protobuffer学习笔记

0表示最后一个字节,1表示不是最后一字节、后面还有。二进制的 第2~5位 是field number。

2024-10-09 15:30:01 617 1

转载 嵌入式程序员的自我修养

文章目录1. 一个嵌入式项目从0开始开发的大致流程.i. 了解需求ii. 召集人员汇聚资源iii. 开始执行第一阶段:第二阶段:第三阶段:第四阶段:iv. 开发完毕,交付客户2.大佬的经验2.1 C语言基础2.2 软硬件2.3 网络2.4 安全技术2.5 真正知道的三个阶段3. 大佬的升级打怪4. 大佬的建议3.1 博览群书3.2 慢慢的爬,聪明的爬3.3 多重构5. 学习路线这篇笔记,主要是为了了解嵌入式工程师开发项目的过程、嵌入式工程师所需要做的工作。以及嵌入式工程师的自我修养。1. 一个嵌入式项目

2024-10-09 15:24:59 433

原创 TinyOS 点对基站通信

文章目录一、前言1.1 发包的BlinkToRadio的数据包格式二、混淆基站源码分析2.1 Makefile2.2 组件连接2.3 主逻辑代码一、前言1.1 发包的BlinkToRadio的数据包格式如下,注意:AM层类型(1byte)即handlerID使可以在组件中修改的。二、混淆基站源码分析2.1 MakefileCOMPONENT=BaseStationCCFLAGS += -DCC2420_NO_ACKNOWLEDGEMENTSCFLAGS += -DCC2420_NO_ADD

2024-10-09 15:16:28 677 1

原创 TinyOS -数据发布实验

文章目录简介分析简介分发协议主要用于维护网络共享配置的一致性,这里的共享配置可以是节点传感器采样的周期、节点LPL醒睡的周期或者节点运行程序的映像等。每个节点都会维护一份这样的配置,分发协议负责通知每个节点这些配置的改变,并通过数据包的交换保证最终的网络配置一致性。即使考虑到网络丢包和链路动态性的影响,网络的一致性也必须得到保障。因此分发协议需要保证网络在不出现孤岛的情况下会尽可能迅速的收敛一致。根据分发数据的大小,分发十几Kbytes的程序映像与分发2bytes的常量参数,分发协议的设计有很大的区别

2024-10-07 19:31:17 706

原创 笔记-stm32移植ucos

文章目录一、UCOS的基础知识1.1 前后台系统:1.2 RTOS系统可剥夺型内核:前后台系统和RTOS系统UCOS系统简介一、UCOS的基础知识1.1 前后台系统:  早期嵌入式开发没有嵌入式操作系统的概念,直接操作裸机,在裸机上写程序,比如用51单片机基本就没有操作系统的概念。通常把程序分为两部分:前台系统和后台系统。  简单的小系统通常是前后台系统,这样的程序包括一个死循环和若千个中断服务程序:应用程序是一个无限循环,循环中调用API函数完成所需的操作,这个大循环就叫做后台系统。中断服务程序用

2024-10-07 19:30:17 1269 1

原创 传感器原理学习笔记3-传感器特性之动态特性

文章目录1.2.1 基本概念1.2.2 一般数学模型i 传感器动态特性的微分方程(了解即可,不需要背诵)ii 传感器动态特性的零阶微分方程iii 传感器动态特性的一阶微分方程iv 传感器动态特性的二阶微分方程1.2.3 传递函数1.2.1 基本概念电平突然跳变到1的时候,输出是一种缓慢上升的状态。如图2输出某段高频率的信号时,由于低通滤波器的原因,可能输出的电平是不变。如图3静态特性...

2024-10-07 19:28:55 813 1

原创 ajax php

文章目录get请求postget和post的异同点ajax原生步骤jquery步骤优点php安装,后台处理脚本语言。后端开发语言不能直接允许,必须放在服务器对对应的文件夹下运行。如:wamp的对应服务器的文件夹是wwwget请求<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>02-get</title></

2024-10-07 19:28:45 478 1

原创 阿里云物联网自有app创建之初始化SDK

步骤一、新建工程,配置gradle,导入.so文件,生成apk。建立emptyActivity随便起命,但是注意要包名要以com.开头打开app的gradle,建立存储**.so动态链接库文件**的libs。gradle同步更新。可以看到libs被创建在app的目录下获得.so库,.so库可以在官方下载demoSDK的APK包中解压后,在其lib中获得。添加.so文件到工程的libs里面剩下的库同理。修改gradle(app)的defaultConfig

2024-10-07 19:27:49 1689 1

原创 创新的定义

创造的定义,首创或者改进创意

2024-10-07 19:27:18 220

原创 Linux 文件管理

文章目录一、目录基本架构1.1 标准文件系统架构1.2 根目录下至少包括的12个目录1.3 与目录相关的指令一、目录基本架构在实际操作之前,我们需要了解Linux目录的基本架构。1.1 标准文件系统架构因为Lnux有很多版本,如果各个版本都有各种的文件目录结构,就容易造成管理上的混乱,Linux基金会发布的标准文件系统架构规范(FHS)FHS 规定,Linux有一个树形的目录。其中最重要的时根目录,所以的目录都位于根目录下。1.2 根目录下至少包括的12个目录登录系统时,初始的默认目录总是

2024-10-07 19:24:50 1220 1

原创 TinyOS - 串口与PC通信

文章目录可以随意调用的串口模板AppC.ncC.nc可以随意调用的串口模板AppC.ncimplementation { //serial components SerialActiveMessageC as AM; App.SerialControl -> AM; App.SerialReceive -> AM.Receive[1];//1号通道 App.SerialAMSend -> AM.AMSend[1];//1号通道 App.Se

2024-10-07 19:24:31 188

stm32、C#、android云端控制stm32Demo.zip

该文件包含三个方面的代码,一个是stm32通过esp8266实现连接新大陆物联网云平台,一个是android应用程序通过新大陆物联网云平台与stm32设备进行交互,最后一个是C# wpf应用程序通过新大陆物联网云平台与stm32设备进行交互。 该代码应该是一个很不错的实现物联网,远程控制设备的入门参考代码。 压缩文件解压密码:1556573968

2020-07-05

8910_module_usb_driver_signed.7z

用于ME901S-806C 4G cat1模组的USB驱动

2021-12-28

ME901s-806c_opencpu_duart_software_release_V1.4.5.zip

ME901s-806c_opencpu软件

2021-12-28

UpgradeDownload_R25.20.5301.rar

ME901S-806系列的Windows固件烧录程序

2021-12-28

CP210x_Universal_Windows_Driver.zip

CP210x_Universal_Windows系统的驱动,其中包含Windows7,Windows10

2021-12-28

安全的即时通信软件.zip

安全的即时通讯软件 任务:采用加密、数字签名技术技术对即时通讯软件的通信进行保护。 功能要求: 1.可以进行通信的身份验证,登陆时需要对密码进行加密; 2.采用公钥密码技术验证和签名; 3.采用公钥密码和对称密码结合来进行消息加密,每一次会话产生一个对称加密的会话密钥, 会话密钥用公钥建立; 4.具备正常的密钥管理功能,自己的私钥要加密,对方好友的公钥要加以存储和管理,具备导 入导出功能。 5.验证完整性,确保消息在传输过程中没有被更改。

2020-02-20

2019年湖南省物联网挑战赛第三题

如图所示,平台12个节点ID号随机(介于0-100),参赛队需编写12个节点的代码,完成节点间的信息传递,使得所有节点能获取到当前网络中存在的节点号,并在10秒内,所有节点打印输出当前存在的12个节点的ID号。 1)12个节点只允许编写一份代码; 2)代码烧录完毕10秒后停止评分; 3)代码中可通过宏TOS_NODE_ID获取节点自身ID号; 4)使用Printf打印结果时,需加上换行符“\n”,以表明语句的结束; 5)网络开销指的是12个节点的无线发包总和; 6)参赛队编写的和结果无关的printf调试语句,必须在最终代码中注释掉,以免造成最终结果输出错误; 格式说明: 1)输出格式为:标志

2021-01-10

CP210x 驱动 win10 win7

CP210x 驱动 win10 win7

2020-12-21

stm32f103zet6空工程模板.zip

https://blog.csdn.net/weixin_43871650/article/details/104130546 stm32f103zet 新建工程步骤与软件仿真调试 中的参考工程。

2020-02-01

挑战赛Blink实现led灯闪烁源代码

挑战赛Blink实现led灯闪烁源代码,包含了主要的Makefile、BlinkAppC.nc、BlinkC.nc。可以烧写在平台中直接使用

2020-09-26

C#ConnectToCloud.zip

改代码使用VS的C# WPF应用实现了登录新大陆物联网云平台,实现了数据的获取,实现了开关控制,应该是一份很不错的C#端参考代码

2020-07-05

omnet++超级立方体网络实验实现代码.zip

编程实现一个4维的立方体网络仿真,网络节点按照如下方式运行, 实验要求: 1.网络节点按照默认的顺序,如节点标识0,1,…,15从小到大的顺序依次产生一个数据包。 2.节点产生(或接收到)一个数据包后,随机选择一个相邻节点发送数据包,依此规则重复执行,直至产生数据包的节点接收到自己的数据包后,直接删除该数据包。 超级立方体网络指具有 d 个维度的网络具有2d个网络节点,网络节点按照0,1,2,…2d-1顺序进行编号。标识 i 的节点采用二进制方式可表示为d 位的二进制序列,网络任意两个节点二进制形式表示的d位标识符,对应位只有某一位不同时,表示节点是直接相邻接,否则,两个节点之间不存在直接相邻接。例如,对于一个3维的超级立方体网络,网络中存在8(8 = 23)个网络节点,如0(000),1(001) ,2(010) ,3(011) ,4(100) ,5(101) ,6(110) ,7(111)。网络拓扑结构按照如下方式连接,节点 0(000)与节点1(001) ,2(010) ,4(100) 直接相临接,因节点 0(000)与节点1,2,4分别在第1位,第2位,第3位不同(从左往右数),其他节点按此规律相邻接。

2019-12-06

ucosii移植软件及源代码.zip

在PC.上移植ucos系统,因为ucos系统的源代码是c语言写的,因此编译C的软件必不可少。在pc机上运行,还需要对pc的设备进行中断的控制,会用到汇编语言,因此汇编语言的编译软件也必不可少。再有就是操作系统的源码,这些都准备好了,就可以进行移植了。 邵贝贝翻译的教材在移植ucos时,c编译环境选BORLANDC++4.5,汇编编译用TASM5. 0,网络上能找到的移植方法基本都是基于这2个软件的。

2020-05-22

空空如也

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

TA关注的人

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