自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zhejfl的博客

它山之石可以攻玉。文字赋予我知识,我用文字记录自己的见识。努力是因为我有梦但缺钱。

  • 博客(101)
  • 资源 (2)
  • 收藏
  • 关注

原创 cJSON代码解读

cjson代码解析

2024-01-02 18:18:59 566

原创 ESP32 碰上内存分配问题

看图片在分配堆内存时,碰上了这个断言,触发应用程序反复重启。

2023-11-22 17:19:40 635 2

原创 FLASHDB的tsdb时序数据库代码分析和问题解决

好好看看FlashDB,在使用过程中读取时存在不太好用的地方,因此深入学习下FlashDB的TSDB的相关代码,看看如何解决工程中的问题。主要我每次取的数据是有上限的,而读取API不能读取条数,都是采用迭代方式,不适合我的项目工程。看看采集什么方式比较好,如果有大牛有好方法,请在评论区里指点下。

2023-05-15 21:50:06 1977 6

原创 酱油学习分析

最近海天酱油的问题引发热议,我也看了网络上的视频并根据视频去楼下便利店和超市学习了一番。确实没有想到有一天会对酱油进行学习分析,不过咱们毕竟都是学理工科的,一点谨慎还是要有的,不能人云亦云。

2022-10-07 19:53:02 444

原创 RS485高手传授知识

485硬件自流控原理

2022-04-23 17:15:03 881 1

原创 sntp 校时问题

1、背景由于项目中的数据对时间比较敏感,目前常常出现校时问题,导致时间偏差,出现曲线数据丢失和曲线数据重复等问题。因此对sntp源码进行深入分析。要了解SNTP,首先需要了解NTP协议。SNTP是NTP的子集,简化了NTP的许多算法和步骤,得到了效率,但时间的精度不如NTP,可是对于民用时间来说足够了,大概最多差距几秒的样子。NTP(Network Time Protocol,网络时间协议)是由RFC 1305定义的时间同步协议,用来在分布式时间服务器和客户端之间进行时间同步。NTP基于UDP报

2022-02-08 14:27:48 2732

原创 Qt 源码编译

1、背景2、修改qmake.conf文件3、根据configure的选项,将编译选项设置用脚本罗列出来./configure --help,将所有的configure的选项都罗列出来3.1顶层安装目录-prefix 部署目录,make install的部署目录,若未指定则默认在/usr/local/Qt-$QT_VERSION-extprefix 安装目录,若未指定,则默认安装SYSROOT/PREFIX-hostprefix 主机上运行的构建工具安装目录,,若未指定

2022-01-28 15:44:47 7844

原创 TFT_LCD 驱动芯片 SSD1963QL9

SSD1963

2021-12-05 18:20:26 5189

原创 AWTK Windows环境搭建

1、背景最近要用GUI,其实我不需要与用户交互,只需要根据串口数据,刷新屏幕,但是我的屏幕UI的特点在于布局根据配置需要动态变化。我的上级推荐给我AWTK,于是乎就有了了解AWTK的事,因为之前我自己使用ucgui来写得,AWTK是周立功家近几年推出的一款GUI开源GUI引擎。我的最终的平台是GD32上来完成这个工作。首先我必须对AWTK这个GUI引擎有一点的了解,AWTK是通用GUI引擎,在Windows也可以用。下面就聊聊在Windows下的环境搭建。1.1 参考资料https://

2021-11-14 17:01:22 1875

原创 SSL浅析和ESP_TLS的应用

1、啥是SSL加密SSL加密技术是为了保护敏感数据在传送过程中的安全所设置的加密技术。在04年发生了OpenSSl的大漏洞曝光。1.1 SSL工作原理 SSL是一个安全协议,它提供使用TCP/IP的通信应用程序间隐私与完整性。因特网的超文本传输协议(HTTP)使用SSL来实现安全的通信。SSL运行在TCP/IP层之上,应用层之下,为应用程序提供加密数据通道,它采用RC4、...

2021-03-10 16:35:23 694 1

转载 Base64编码原理

1、Base64的由来目前Base64已经成为网络上常见的传输8bit字节流的编码方式之一。在做支付系统时,系统间的报文交互都需要使用Base64对明文进行转码,签名或加密,再进行传输。在嵌入式中二进制流用Base64转码后,进行传输。Base64转码原理,做了什么?在报文输出过程中遇到:传输的字符并不全是可打印的字符,比如二进制文件、图片等,这时候Base64的出现就是为了解决此类问题你。它是基于64个可打印的字符来表示二进制数据的一种方法。1.0 参考文档https://blog.csd

2021-03-06 23:16:14 432

转载 MII接口笔记

1、背景2、MII接口

2020-12-26 20:58:17 552

原创 C/C++头文件学习

1、背景一个阶段一个想法。做它。记录头文件包括包括什么。2、头文件2.1 <stdint.h>头文件<stdint.h> 是C99中引进的一个标准C库的头文件,定义了int16_t 、uint32_t、int64_t等整型以及各类整形的最大最小值INTN_MIN 、UNITN_MAX。2.2 <>...

2020-10-28 15:03:11 603

原创 输入和输入纪要

1、背景最近刷题过程中,发觉自己对于输入、输出相当不了解,本身也不常用这些。现在想来错过一个亿。因此,从网络中搜集了一些数据,并测试后总结如下。2、输入2.1 输入可调用2.2 scanf的使用技巧函数原型int scanf(const char *format, ...);根据format中的转化符,在format后添加地址,方便把读取到的字符串按照转换类型放入指定地址。...

2020-09-19 15:04:48 137

转载 如何将笔记本上的SD卡接入Ubuntu虚拟机中

1、背景手上没有能读卡器,考虑用临时解决方案:在虚拟机中添加一块硬盘或者是通用SICI的方法。在网上找了一个教程。其中1是有读卡器的情况下其中2就是在讲SD做为硬盘添加到虚拟机中。2、转载原文VMWare虚拟机版本V15Ubuntu版本16.04LTS1.常规U盘在物理机和虚拟机之间的切换打开Ubuntu虚拟机,将U盘插入笔记本,等到windows系统识别U盘后,虚拟机软件右下角会出现U盘图标,如图:右键该图标,选择“连接(断开与主机的连接)”,如图:..

2020-09-16 05:36:16 2429

原创 ANSI C学习----变参函数

1.背景在C中,当我们无法列出传递函数的所有参数的类型和数目时,可以用省略号指定参数表如我们常用的打印输出int printf(const char *format, ...);这也是C中一种传参的形式。2、函数参数的传递原理函数参数以数据结构---栈的形式存取,从右到左入栈。以void func(int x, float y, char z);函数而言,调用时,实参z先入栈,在y入栈,最后x入栈。理论上只要探测到任意一个变量的地址,且知道其他变量的类型,就可以通过指针移位运算,顺藤摸

2020-09-02 09:02:44 224

原创 zstack 的osal操作系统中按键配置驱动详解

1、背景最近接触CC2530芯片,zstack协议栈的OSAL操作系统初看之下,一阵晕。现在先对按键的操作逻辑进行分析。2、按键初始化、配置、中断触发、消息发送、处理流程2.1初始化zmain.c:main()-->hal_drivers.c:HalDriverInit()-->hal_key.c:HalKeyInit();2.2 配置main.c-->OnBoard.c:InitBoard( OB_READY ); //配置为按键中断类

2020-08-21 13:23:08 526

转载 终端和伪终端

1、背景一直以来就对物理终端、虚拟终端以及伪终端的概念有认识不清的地方,在看网络培训视频和其他人的博客后,对这些概念进行一次梳理。2、概念梳理2.1 物理终端直接连接在主机上的显示器、键盘和鼠标的统称为物理终端。在实际机架式服务器部署中,一般是多台服务器共享一套终端,简称KVM(Keyboard键盘,video显示器,mouse鼠标)。2.2虚拟终端(tty)附加在物理终端之上,用软件方式虚拟实现,分为图形终端和字符终端。Ubuntu下由图形终端和6个字符终端。6个字符终端是tty1

2020-08-15 12:25:03 542

转载 全局变量的异步IO问题

1、背景最近学习了全局变量的异步IO问题,参考其他人的博客和视频,成就这篇。如果有理解问题的话,请大家指出。2、全局变量的异步IO问题全局变量的异步IO问题属于时序竞态问题中比较常见的一种。由于kernel的调度关系,涉及全局变量控制的程序逻辑跑出设计者预计之外的结果。如(主控程序和信号捕捉函数的用户处理函数)对同一个变量进行修改,由于kernel调度的缘故,执行顺序与预期的不一致,导致程序没达到设计目的。接下去同样借助一个例子来说明。程序设计目的是,主程序和子程序交替数数。2.1 父子

2020-08-15 10:51:33 212

转载 linux嵌入式开发环境搭建

1、第一步是Windows 主机和虚拟机的文件互传一般方式在虚拟机上搭建FTP服务器或samba服务器转载一个好用的转载自https://www.linuxidc.com/Linux/2018-11/155466.htm下面的内容:局域网下使用samba服务在Linux系统与Windows系统直接共享文件是一项很方便的操作。以Ubuntu为例配置samba服务,Linux服务器的版本是Ubuntu 18.04.1 LTS。1.1、安装samba服务器sudo apt-get i

2020-07-25 22:13:25 328

转载 linux 进程间通信(一、总论及管道)

1、背景1.1 参考资料https://blog.csdn.net/maopig/article/details/778001242、进程间通信每个进程有独立的地址空间,任何一个进程的全局变量在另一个进程中都是看不见的。因此进程间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷贝到内存缓冲区,进程2再从内核缓冲区把数据读走。内核提供的这种机制称为进程间通信(IPC, inter process communication)。对于32位Linux内核地址空.

2020-06-13 09:38:02 372

转载 线程模型

1、背景目前对内核不熟悉的阶段,所有的知识有零碎的来自网络。但是网络上各有各见解,有片面,有大牛,有过时,有现在的。我作为一个小白,只能做到兼听则明。如果我的博客中有什么问题,请大家指出,共同进步。1.1 参考资料https://www.cnblogs.com/Mered1th/p/10745137.htmlhttps://www.zhihu.com/question/35128513https://www.cnblogs.com/jingzhishen/p/4433023.html

2020-06-06 19:28:30 247

原创 ESP32 关于LOGGING

1、背景今天有点时间,因此对ESP32 的日志输出做一次学习。1.1 资料https://docs.espressif.com/projects/esp-idf/zh_CN/v3.3/api-reference/system/log.html?highlight=Logging%20to%20Hosthttps://www.cnblogs.com/jiangmitiao/p/97...

2020-04-24 16:43:04 3080

原创 ESP32 关于HTTPS的使用

1、背景最近因为公司项目的原因,接触到关于HTTPS方面的东西,新东西有必要记录一下。由于涉及公司的事,不公开。对于公开的部分,会另外成文。1.1 参考资料注:网络上资源很多,关键还是要静下心来。理解证书和证书链(三)https://blog.csdn.net/junwua/article/details/80506631理解证书和证书链https://blog.csd...

2020-04-17 15:42:26 3818 6

转载 灭菌锅原理、结构和检测方法浅析

1、背景公司项目设计到灭菌锅,因此有必要对灭菌锅的原理、结构和检测方法做一定的了解。本文从网络中查阅资料后整理。若有不正确的地方,欢迎指正。1.1.参考资料2、...

2020-04-14 20:43:55 3407

转载 RFID技术漫谈

1、RFID简介RFID(全称为Radio Frequency Identification,无线射频识别)。参考资料http://tech.rfidworld.com.cn/2019_02/46fbfbc959d1e819.html1.1 无线射频识别过程电子标签(RFID Tag)进入解读器有效识别范围内时,接收解读器发出的射频信号,凭借感应电流所获得的能量发送出存储在芯片...

2020-02-28 09:36:15 977

原创 存储器归纳

先讲RAM,RAM的特点是:读写数据非常快、用于存储指令和变量--任何位置读写速度一样;是易失性的存储器,即断电后所有RAM中数据将会丢失。1、RAM种类RAM种类包括DRAM、SRAM、SDRAM、DDR SDRAM和RDRAM。动态(D)——存储单元必须隔一段时间刷新(refresh)一次,如果存储单元没有被刷新,存储的信息就会丢失。定时刷新数据。静态(S)——具有静止存取功能...

2019-12-14 10:55:40 292

原创 关于一块蓝牙模块的使用实录

1、背景公司购进蓝牙模块OE-MESH1010SC01的蓝牙Mesh组网模块,在我手上耗时三个多月。这是一块基于CSR1010芯片上设二级的兼容蓝牙4.2低功耗BLE以及mesh租完各功能的蓝牙模块。它在智能灯控方面的确可靠性比较好,但是利用他来进行数据传输就比较狗血了。我们使用场景是:多个设备组成Mesh网络,其中一个作为网关使用(常电),其他设备为低功耗设备(进行休眠)。网上对于蓝牙M...

2019-11-08 14:41:34 384

原创 uC/OS-II 任务相关常用API使用

1、任务的创建、调度、其他任务管理API这些API都在os_task.c中实现。1.1 任务的创建任务的创建其实质是创建一个任务控制块,并把它与任务程序代码(C函数)和任务堆栈(私有堆栈)关联起来形成一个完整的任务;并使刚刚创建的任务进入就绪状态,引发一次任务调度。INT8U OSTaskCreate (void (*task)(void *p_arg),void ...

2019-08-31 13:16:36 452

原创 uC/OS-II实时操作系统的数据结构

1、操作系统涉及的管理用表操作系统实际上是一种管理软件。所谓管理,就是在了解被管理对象的基本信息之后,在需要时,按照某种规则对这些被管理对象进行分配、调度等操作。管理工作的基础在于详细地被管理对象的信息,用表来记录被管理对象的信息,必要时还要随着情况的变化及时更新信息。熟悉操作系统中使用的各种表格就是学习操作系统的要点。操作系统中,从存储的角度看:结构体最适合用来表述(不同属性)一...

2019-08-17 14:44:37 933

原创 TBox怎么回事

1、背景新公司有一款TBox的产品,但我对于TBox了解甚少,对车联网也连接甚少。对网络上的一些资料,我也应该做一些整合,加上这段时间在公司接触到的事情,完成这篇博客,写博客也是一种激励自己学习的手段。1.1 参考资料https://wenku.baidu.com/view/6b18c04dcec789eb172ded630b1c59eef8c79ad1.html2、TBox有什么...

2019-08-15 20:27:42 31884 1

原创 菜鸟学C++(四 预处理)

1、背景2、预处理对于条件编译(#ifdef #else #endif/ #ifndef #elif #endif)、宏定义(#define #undef) 包含头文件(#include)这些常用的就不详细叙述了。讲一讲我不太常用的一些预处理。2.1 C++中的预定义的宏(编译器内置-预先定义好的宏定义)在我们调试过程中用处巨大__LINE__ 在程序编译时包含当前...

2019-07-14 14:55:16 119

原创 菜鸟学C++(三、C++接口)

1、C++接口的存在是为了什么这是面对对象编程的一大特色,面对对象编程就是善于用模型来反映现实世界中的事物特征,是一个以建立模型体现出来的抽象思维过程。如 Jimmy Jake Jully 三个人是具体的对象,他们都是学生。从这里面对对象思维就可以形成这个一个抽象构成:Jimmy --> Student ----> Person.在实际编程过程中,有很多的抽象实际上都有相同的...

2019-07-11 08:40:21 354 1

原创 汽车排气系统

1、背景公司产品需要了解汽车排气系统的知识。1.1资料http://www.chinatruck.org/maintain/201712/74_73469.htmlhttp://www.360che.com/tech/150302/38276.html2、汽车排气系统的功能汽车排放系统主要是排放发动机工作时所排出的废气,同时使排出的废气污染小,噪音小。在这里涉及到集气、净化...

2019-06-29 10:51:54 1569 1

原创 菜鸟学C++ (分清楚C++中重载、重写和重定义)

1、背景在C++里有必要弄清楚他们三者的不同。1.1 参考资料https://www.cnblogs.com/weizhixiang/articles/5760286.html2、三者的不同详细重载(overload):是函数名相同,参数列表不同,override只是在类的内部存在。重写(override),也叫覆盖。子类重新定义父类中有相同名称和参数的虚函数(virtua...

2019-05-21 18:47:22 22165 4

原创 从ESP32 源码学习事件处理函数用法

1、背景在ESP32中存在很多的回调,并且实现的都比较优美,因此有必要在这方面向她好好学习,向代码开发者致敬。我下面开始我的胡扯,有问题请大家指出,谢谢。2、结构接下去我们学习一下它的逻辑结构以及内含的面向对象的编程思想。(当然这纯属我在写的时候瞎扯的)。以HTTP数据流为例分析,这个选择是因为目前刚好对这一段熟悉,贪方便而已。2.1 看看句柄相关的结构体以及初始化言归...

2019-04-25 10:56:39 2024 2

原创 ESP32 网络HTTP数据流API使用浅析

1、背景写的HTTP数据流下载不好用,特别在网速慢,任务多、中断切换频繁,出现下载中断,任务出错等等问题。1.1 参考资料2、常用API浅析ESP-IDF对HTTP/S请求的API封装实在是太好了,单看一些API的说明,很难理清它的运行逻辑。因此还是阅读源码最能理解。常用的API有esp_http_client_init()、esp_http_client_perform...

2019-04-24 15:52:40 6881 12

原创 QT学习(1环境搭建)

1、背景离职时,发现平时文档准备比较少,现在在补,同时也是再次学习的过程2、环境搭建现在QT环境搭建非常简单。2.1.1 参考资料首先上一个参考文档官网地址https://www.qt.io/打开后选择Open Source Usage under LGPL v3 license,随后登录你自己的账户,点击Buy Qt Now or Start for Free....

2019-04-18 16:00:43 183

原创 Qt 动态加载第三方库

最近写桌面测试程序,要使用到tsclib.dll, 只有一个TSCLib.dll和TSCLIB.lib文件。因此选择显示调用dll——使用QLibrary类在pro文件中,添加.lib文件的位置:LIBS+=-LD:/hitempt/api/-lmyDLLdll文件在动态调用时有两个作用:1.编译时用到, 2.运行时用到,因此至少在运行文件夹中有dll文件,源码中...

2019-03-30 00:55:42 885 2

原创 STM32开发之SPI 与W25Q128通信

1、背景调试STM32L051的SPI2 和 W25Q128 通信问题。问题是SPI的SCK一直高电平,没有信号输出,一直高;MOSI有信号输出,MISO一直是高电平,没有信号输出。GPIO的初始化和SPI的初始化,基本没有什么异常。1.1 参考资料STM32和ad7606的spi调试心得https://blog.csdn.net/guangzhongyang/article/det...

2019-03-30 00:44:15 3401

蓝牙核心协议规范BLE V4.2

BLE Core V4.2 规范资料 大家看看。 The attribute protocol allows a device referred to as the server to expose a set of attributes and their associated values to a peer device referred to as the client. These attributes exposed by the server can be discovered, read, and written by a client, and can be indicated and notified by the server.

2019-03-08

ESP32 仿STM32原子哥程序处理外部Flash

仿STM32 访问外部SPI Flash程序,在ESP32中使用外部SPI Flash。 只有.c文件,懂得就够了。后面还有其他版本

2019-01-10

空空如也

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

TA关注的人

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