- 博客(36)
- 资源 (7)
- 收藏
- 关注
原创 【Android Studio】第三方库 图表(MPAndroidChart)使用
该类是 Chart 图表的 Y 轴,但 Chart 中有左右两个 Y 轴,分别由 chart.getAxisLeft()、chart.getAxisRight()可以在该监听函数中实现点击不同的数据在另一个 Chart 中展现对应的不同的数据。 该类是图表的控件,类似于按键、图片,是从 xml 文件中通过 id 获取到的。 该类是 Chart 的限制线,作用是呈现一些特殊的信息,像边界、约束等。 该类是 Chart 图表的 X/Y 轴的基类。 该类是一个 Chart 类的标题。
2023-03-31 12:40:23
4428
15
原创 【C/C++】可变参数
在 c/c++ 中,函数是支持可变参数的,最典型的就是printf()函数,为了支持可变参数,,即最后一个参数位于高地址,第一个参数位于低地址。
2023-03-25 19:30:20
1074
5
原创 【STM32】STM32内存映射以及启动过程(超详细过程)
映射其实就是对应的意思。事实上存储器本身并不具备地址,将芯片理论上的地址分配给存储器,这就是存储器映射。STM32 的所有片内外设其实都是存储器,所以所有的这些存储器都需要被映射。理论上**地址起始就是门牌号**,存储中的每个字节就是房间,存储器生产出来后,这些房间是没有地址的(门牌号),映射的过程其实就是将这些门牌号分配给这些房间,分配好后,每个门牌号只能访问自己的房间,没有被分配的地址就是保留地址,所谓保留地址的意思就是,没有对应实际存储空间。
2023-03-19 10:03:46
9570
4
原创 【LVGL】页面管理框架
我们在实际使用 LVGL 完成一些项目时,通常需要展示不止一个页面,此时这些页面要如何更好的进行管理成为了一个需要解决的问题,如果处理不当,在资源短缺的嵌入式设备中很可能会因为过多页面的加载但却没有及时释放造成系统的崩溃。现在就为大家展示一下我所构建的页面管理框架,如果设计上有存在什么问题,欢迎留言讨论。
2023-02-27 17:10:41
5289
5
原创 【Git】Git使用(保姆级讲解)
Git 工作目录下对于文件的修改(增加、删除、更新)会存在几个状态,这些修改的状态会随着我们执行 Git 的命令而发生变化。
2023-02-25 18:05:53
648
原创 【C/C++】define的用法(高级用法)
c语言的 define 语句虽然看起来很简单,大部分的时候都只是给某个变量或者函数加上一个别名或者进行简单的运算,但 define 的功能还有其他一些十分方便的操作,用好了能够极大的方便我们编程。
2022-11-04 14:49:08
3319
原创 【STM32 x ESP8266】连接阿里云 MQTT 服务器(报文连接)
具体如何在阿里云创建一个 MQTT 服务器我就不写出来了,可以去百度一下(主要是我忘了,不好演示)。有关 MQTT 报文的一些标识在我前面的中讲过,感兴趣的可以去看看(,这里就不细讲了,主要讲如何连接的)插一嘴,如果有同学找不到可以创建阿里云 MQTT 服务器的地方,。
2022-11-04 00:52:43
5537
4
原创 【STM32 x ESP8266】连接 MQTT 服务器(报文,附部分源码解析)
MQTT 协议作为物联网非常重要的传输协议,如何使用它十分重要,如果有不理解的同学可以点击学习,这里只是简单介绍一下。同时这里附上,对协议底层感兴趣的同学可以下载学习一下,同时下面的实现函数就是。项目整体在(赚点积分),。该项目是基于野火的 3-向电脑网络助手上传 DHT11 温湿度 的基础上添加了 MQTT 部分,主要使用了里面的的设置。
2022-11-01 22:39:30
12657
7
原创 【STM32CubeIDE进阶】(一)USB设备之鼠标
由于 USB 协议过于复杂,这里不展开详细讲解,不过我上传了,文中用到的工具皆出自这里,并且其中包括的《圈圈教你玩USB》是一本非常好的入门书籍,想要深入可以看看。
2022-10-24 10:23:45
1980
2
原创 【FreeRTOS】FreeRTOS 任务调度
FreeRTOS 任务调度中涉及到了 SysTick、SVC、PendSV 中断,探究在这些中断中都做了什么,深度解析代码,了解任务切换的过程。 这些内容都由下面的思维导图展现。
2022-10-23 11:47:02
330
原创 【STM32CubeIDE入门】(三)USART的配置及使用(DMA)
DMA是什么,简单来说就是数据可以不通过CPU就可以达到发送和接收数据的目的,从而提高CPU的效率。在找如何使用串口+DMA收发的示例的时候,发现虽然网上有非常多的教程,但我发现很多不是不能用就是有很多瑕疵,调试很久心态爆炸,中途也不断实验,终于让我弄出了一个可以使用的代码。不过我觉得实际使用的时候感觉 DMA+串口发送 和 串口中断接收 会比较常用一点,因为一般使用串口接收的数据都不会太长,也占用不了太多的 CPU,但这里还是贴上 DMA 发送和接收的代码供参考。
2022-10-22 12:17:17
8638
4
原创 【C/C++】内存泄漏检测(不借助工具)
内存泄漏检查对于经常在 Windows 系统或者 Linux 系统下编程的人员来说会相对来说比较容易,有各种各样的工具能够用来检查内存泄漏,但对于嵌入式工程师来说就非常麻烦了,因为也没有什么工具能够检查。这里提供一个不需要依赖工具,只需要添加几个代码文件即可检查出哪里发生了内存泄漏的代码。
2022-10-18 22:54:47
1027
原创 【C/C++】内存对齐(超详细,看这一篇就够了)
下面的结论均为系统默认对齐规则下进行的:通常情况:我总结的规律如下:结构体中间:各结构体的起始地址按照各个类型变量默认规则进行摆放,但除了 char 类型变量(详见一),char 类型变量一般遵循 2 的倍数地址开始存储。详见例2。结构体最后(重要):视结构体中最大类型是哪一个,如果是像 int 类型那样是 4 个字节的,并且结构体的结尾地址不满足 4 的倍数的话,向离最近的 4 的倍数地址补齐;如果是像 double 类型那样是 8 个字节的,并且结构体的结尾地址不满足 8 的倍数的话,向离最近的 8
2022-10-18 22:01:47
29899
31
原创 【STM32CubeIDE入门】(二)经典程序:GPIO配置点亮LED灯
如果不知道如何创建工程文件的可以参考我之前写的一篇文章:【STM32CubeIDE入门】(一)工程创建&工程配置_谢老板不用蟹的博客-优快云博客1、首先观察板子的LED引脚是哪一个,我用的是stm32f103c8t6的最小开发板,LED的引脚是PC13。
2022-10-10 18:08:49
4750
4
原创 【STM32CubeIDE入门】(一)工程创建&工程配置
写在前面:如果是刚接触stm32cubeide的同学推荐与这一篇文章共同阅读,能够更加快速认识上手stm32cubeide。1、打开stm32cubeide,选择好工作目录进入主界面后,点击创建工程。
2022-10-10 14:33:07
15066
2
原创 【Linux程序安装】FTP的安装以及在Windows上进行数据传输(Ubuntu 18.04)
FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文本传输协议”。用于Internet上的控制文件的双向传输。在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上传"(Upload)。"下载"文件就是从远程主机拷贝文件至自己的计算机上;"上传"文件就是将文件从自己的计算机中拷贝至远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件。
2022-10-08 23:31:16
917
原创 【Linux问题】解决rc.local文件不存在问题(Ubuntu 18.04)
注意到 /lib/systemd/system 下也有个 rc-local.service,可以借用这个模板来进行修改,也可以从头开始编写。ubuntu 18.04 系统默认已经将 /etc/rc.local 文件移除了,因此,我们需要手动创建一个,并将需要开机执行的命令写入到文件中,其中 Unit 字段主要描述服务的启动顺序以及依赖关系,Service 字段主要描述如何启动,Install 字段描述如何安装这个服务。ubuntu16.04 版本后就不再使用 initd 管理系统,而改用 systemd。
2022-10-08 14:40:47
3005
原创 【Linux基础】Linux环境变量(超详细)
按生命周期分:按作用域分:env:查看当前用户全部的环境变量。env|grep 环境变量名:筛选包含的环境变量。export:显示当前系统定义的所有环境变量。printenv 环境变量名:查看指定环境变量的值。echo $环境变量名:查看指定环境变量的值。unset 环境变量名:清除指定环境变量。功能和作用 可执行程序的搜索目录,可执行程序包括Linux系统命令和用户的应用程序。如果可执行程序的目录不在PATH指定的目录中,执行时需要指定目录。书写格式 PATH环境变量存放的是目录列表,目录
2022-10-05 11:18:40
37058
4
原创 【FreeRTOS】FreeRTOS与stm32内置堆栈的占用情况
在stm32的启动文件中,有对该单片机的堆栈大小进行设置,这里的启动文件中将栈大小设置为1024字节,堆大小设置为512字节。
2022-08-04 21:34:32
2606
1
原创 【STM32 x VScode】如何在vscode上编写stm32程序(固件库函数)
本人使用keil5也算比较长时间了,但是keil5有个比较大的缺陷就是补全速度太慢,老是用的不太顺手,于是就想着使用万能的vscode来代替一下keil5的编写程序功能。
2022-07-12 11:24:14
5114
3
原创 【keil 5】进阶玩法:逻辑分析仪的使用(软件仿真)
在日常编写程序的时候,难免会遇到想要查看GPIO等外设的波形图,keil5就提供了一个非常方便的软件仿真的逻辑分析仪功能,能够基本满足我们的需求。
2022-07-08 00:13:29
21139
2
原创 【Arduino x ESP】vscode环境配置(超详细教学)
选择使用vscode的原因:arduino 2.0听说不太稳定,并且vscode有自动补全功能,对编程及其友好。
2022-06-17 21:11:48
4834
1
原创 【STM32】串口中断接收函数
型号stm32f103使用串口USART2涉及中断USART_IT_RXNE:接收到1个字节产生该中断USART_IT_IDLE:接收到一帧数据产生该中断串口配置函数注意要打开对应的中断!/* 使能串口2接收中断 */USART_ITConfig(USART2, USART_IT_RXNE, ENABLE);USART_ITConfig(USART2, USART_IT_IDLE, ENABLE);/// 配置U...
2022-05-26 22:02:43
7308
2
原创 ffmpeg基础(四)如何学习ffmpeg事半功倍(不定期更新)
1、官方API文档FFmpeg: Main Page官方API文档中有对ffmpeg中的函数以及结构体有着非常详细的解释。2、查看源代码 以linux环境下为例,在使用vscode编写ffmpeg程序的时候(ffmpeg基础(三)Linux下使用vscode编写ffmpeg程序),可以将ffmpeg源代码添加到工作区中,这样遇到想要查看源代码的函数只需要进行查找即可找到。3、ffmpeg更新文档ffmpeg在每一...
2022-05-09 00:20:11
897
原创 【opencv x ffmpeg】一、Linux下安装与编译(Ubuntu18.04)
一、ffmpeg安装和编译因为opencv和ffmpeg的兼容性问题,所以在安装ffmpeg的时候不能选择高于ffmpeg 4.4版本进行编译,ffmpeg高于4.4版本的,API接口变动太大,无法与opencv兼容,在对opencv进行编译的时候会报错。这里选择的是ffmpeg 4.2.2版本进行安装。git clone --depth=1 https://git.ffmpeg.org/ffmpeg.git -b n4.2.2 后面的安装步骤本人之前写过,就...
2022-05-08 22:44:53
4121
1
原创 ffmpeg基础(五)aac音频帧头adts
在网上找了两个关于aac音频帧头adts的格式介绍:实战让你搞懂ADTS! - 云+社区 - 腾讯云AAC ADTS格式分析_生椰_李点点的博客-优快云博客 为什么在将视频中的音频下面直接就引用...
2022-05-07 00:48:56
1747
原创 vscode基本设置(不定期更新)
1、设置取消打开文件目录的自动定位跟踪功能:文件-->首选项-->设置-->在搜索栏中搜索:explorer.autoReveal; 去掉勾选即可。2、打开文件不覆盖:文件-->首选项-->设置-->工作台-->编辑管理-->Enable Preview(默认为勾选),改为不勾选即可永久不覆盖。3、运行时自动保存:文件->首选项->设置->在搜索栏中搜索:auto save,选择afterDelay,将Auto Save Del
2022-05-06 22:14:45
2795
原创 ffmpeg基础(三)Linux下使用vscode编写ffmpeg程序
为啥要选择vscode来对ffmpeg进行编程,而不是gedit或者vim呢?因为vscode有一个文件:c_cpp_properties.json,它可以指定其他路径下的头文件,这样在使用ffmpeg的函数的时候,vscode可以对函数进行提示,加快编程速度。同时vscode自带终端控制台,可以在其中进行make和调试等操作。一、下载vscode...
2022-04-27 17:29:53
3671
原创 ffmpeg基础(二)Linux环境下ffmpeg的配置(Ubuntu 18.04)
目录一、下载ffmpeg源码二、准备ffmpeg依赖环境三、编译ffmpeg四、编译成果一、下载ffmpeg源码 直接使用git命令下载即可。git clone https://git.ffmpeg.org/ffmpeg.git二、准备ffmpeg依赖环境另外这里附上官方的在linux环境下编译ffmpeg的过程,有需要的可以直接去官网查看:CompilationGuide/Ubuntu – FFmpegsudo apt-get ...
2022-04-25 22:25:36
7325
原创 (阿里云服务器)部署tomcat
目录一、准备材料二、java环境配置三、tomcat安装与配置四、开放8080端口(重点!!)五、配置成果一、准备材料阿里云服务器、MobaXterm、jdk1.8、tomcat8.5.78 作者提供:jdk1.8.0、tomcat8.5.78官方网址:tomcat官方网址、JDK-8二、java环境配置首先使用MobaXterm连接到自己的阿里云服务器。将下载好的 ...
2022-04-25 00:16:35
3525
原创 ffmpeg基础(一)windows环境下Visio Studio 2019环境配置
一、下载源码进入到ffmpeg官网:Download FFmpeg点击下图的链接:然后在上下两个不同版本之间选择一个进行下载:5.0.1和4.4.1下载完成后进行解压缩,就可以得到下面的一些文件。其中bin目录下放置的是ffmpeg的一些可执行文件,doc目录放置的是官方对ffmpeg的一些文档,include目录放置的是编译ffmpeg项目所需要的头文件,lib放置的是一些库文件。 在本地创建一个...
2022-04-24 23:04:40
2411
原创 C语言标准输入流stdin与流相关的各个函数之间的关联研究
在学习到C语言的缓冲区的时候,本来是一切顺利的,结果看到了说是stdin、stdout、stderr三个标准流是一个文件指针,可以当作像普通文件指针fp那样进行函数的操作,这让我想起了有关文件指针相关的fgetc、fputc、fgets、fputs、fscanf、fprintf以及puts和gets这一系列的函数,还有最基础的scanf和getchar函数,给我彻底搞懵圈了,然后我就针对其中的scanf、getchar、fgets、fputs、puts做了一些研究,下面是代码:#include...
2021-08-23 17:57:39
700
转载 解决Keil4与Keil5在同系统不能共存的问题
当电脑上同时安装keil4和keil5软件时,每次打开keil工程都默认用keil5打开,但这会出现:用keil4建立的工程文件用keil5打开后,该工程就不能再次使用keil4打开了或者改工程出现问题。为了使,keil4建立的工程用keil4打开,keil5建立的工程用keil5打开,步骤如下:1.win+r快捷键,输入regedit,打开注册表编辑器,点开根目录HKEY_CLASSER_ROOT,找到UVPROJFILE目录(KEIL4工程文件类型)和UVPROJXFILE目录(KEIL5工程文件类
2021-05-24 00:53:42
2169
原创 怎样使用取模软件将想要的图片转换成dmp文件并且显示在0.94寸的oled屏中?
相信大家在使用oled的时候不免想要把自己喜欢的图片显示到屏幕上,那么怎么实现呢?工具:0.94寸oled(128*64)Photoshop cs6/cs3 我使用的是cs3,不过不碍事,都可以用取模软件:PCtoLCD2002,没有的话百度一下1、将想要展现到oled屏的图片导入到ps中。2、创建画布:宽度:128 像素 高度:64 像素3、可以使用裁剪工具将图片裁剪成2:1的尺寸,方便后面缩小4、将剪好的图片拖到刚创建的画布里,按下ctrl+T自...
2021-05-24 00:03:07
1261
2
单项选择题标准化考试系统(C语言课设)
2022-11-08
esp8266连接mqtt服务器.zip
2022-09-16
ESP8266 连接阿里云 MQTT 服务器 / EMQ
2022-09-16
simple-allow-copy.crx
2021-05-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人