摘要:
一、数字加密的概念 1.1 加密概念 数据加密技术是指一条消息通过加密密钥和加密函数转换成无意义的密文,接收者通过解密函数和解密密钥将密文还原成明文。这样,我们就可以保护数据不被非法窃取和读取。提高计算机安全水平的基础是掌握数据加密的本质,数据加密由明文(未加密报文)、密文(加密报文)、加解密设备或 阅读全文
摘要:
此篇文章在2024年9月12日被记录 vscode 自定义任务 vscode是一款优秀的代码编辑器,并且内置了任务系统,意味着用户可以根据自身需求使用快捷键的方式运行自己的命令或者脚本,从而提升工作效率 1.给任务绑定快捷键 使用快捷键打开键盘快捷方式界面,默认快捷键为CTRL+K+S,在当前界面搜 阅读全文
摘要:
此篇文章在2024年11月5日被记录 怎样在ESP32上流畅的播放动画 最近有一个预研项目,在ESP32上播放动画,于是来测试一下ESP32刷动态图的极限性能 1. 硬件以及内容描述 名称 描述 CPU ESP32S3@240Mhz RAM 512KB (IRAM (192KB ) + DRAM( 阅读全文
摘要:
此篇文章在2024年11月1日被记录 TLSF内存算法 1、动态内存算法管理背景 项目中经常需要使用malloc进行动态内存分配,但是存在两个缺陷 由于分配算法的复杂度,分配时间不确定 在不断地申请、释放过程中,容易因为内存对齐产生碎片内存 这两个缺点在项目中华通常是不被允许的,因此需要一套较为合理 阅读全文
摘要:
此篇文章在2024年10月30日被记录 技能储备系列是一些暂时由于时间或者其他客观因素暂时无法进行的工作,但是觉得很有用,因此做个记录,文章参考自Snow_2018在CSDN上的文章,原文链接为点击我 写在前面 本文介绍了J-Link RTT的部分使用内容,很多地方参考和使用了J-Link的官方资料 阅读全文
摘要:
此篇文章在2024年10月29日被记录 盘点C语言中的字符串操作函数 1、字符串复制和连接 #include <stdio.h> #include <string.h> int main() { // strcpy char src1[] = "Hello"; char dest1[20]; str 阅读全文
摘要:
此篇文章在2024年7月15日被记录 程序员在C编码时需要尽量考虑所有的异常情况,否则解决问题需要花费制造问题的数倍 1、数组操作越界,造成相邻内存中的数据踩踏 在下面示例代码中,arr_a[i] = 10 越界访问造成了arr_b中的数据被修改 uint8_t arr_a[5] = {0,1,2, 阅读全文
摘要:
此篇文章在2024年7月5日被记录 1、音频产生原理 物体的振动产生声音,下图是一段音频波形,可以从这张图片中了解一下声音的关键参数 采样率:一秒钟有多少个采样点,常见的有8K,16K、32K、44.1K等,可以说采样率越高,音质越高 采样位深:一个采样点的音频深度,常见的有8bit或者16bit, 阅读全文
摘要:
此篇文章在2024年6月7日被记录 问题描述:最近在使用STM32G0的bootloader下载时,发现拉高boot0后,空片只能烧录一次,然后无论如何拉boot0,再也无法线刷固件了,通过查看文档解决了此问题 1、STM32G0系列与旧款STM32启动的不同之处 旧款STM32 boot启动方式: 阅读全文
摘要:
此篇文章在2024年5月24日被记录 在lvgl中,当两个页面之间互相切换时,先将第一个页面的控件全部删除,在创建新页面的控件,但是有时执行后会发现会出现内存泄漏:两个页面来回切换,内存占用不断提高,直到卡死。 1、情况复现 使用最简单的方式复现问题,模拟器新建两个页面,每个页面在创建时新建一个st 阅读全文
摘要:
此篇文章在2024年5月9日被记录 前段时间写了一篇文章描述FSM(有限状态机),但是在有些情况下业务比较复杂,就会使用到HFSM(层次状态机),使用层次状态机,将复杂的业务分解为几个大状态,每个大状态再维护自身内部的小状态,可以使代码更加条理,增加代码的可读性与可维护性 1、层次状态机思想 类似于 阅读全文
摘要:
此篇文章在2024年4月11日被记录 1. 前言 在lvgl中经常需要显示大量图片,但是MCU的内部flash不足以保存大量的图片,因此需要将图片保存在外部flash上,通过SPI或者QSPI方式读取。 适用于嵌入式的文件系统较多,例如fatfs,但是较为占用资源,并且在文件较多的情况下,读取文件需 阅读全文
摘要:
此篇文章在2024年3月25日被记录 个人比较喜欢重低音音乐,但是好的重低音音响都比较贵,比如JBL战神战鼓系列,又或者迪瓦雷系列,可望而不可即。所以就想自己先做一个来试试水,听听感觉 方案设计 发声单元使用两个全频喇叭 + 一个重低音喇叭 + 低音振膜 全频喇叭实在某宝上找的10W的全频小音箱,用 阅读全文
摘要:
此篇文章在2024年3月6日被记录 1、LVGL单缓冲区刷屏流程 任务启动之后,lvgl按需往屏幕上刷数据,阻塞等待刷屏完成,继续运行lvgl任务,重复此流程 2、LVGL双缓冲区刷屏流程 启动之后,lvgl按需往屏幕上刷数据,在触发SPI DMA发送后,前台继续处理LVGL任务,并且渲染在另一个缓 阅读全文
摘要:
此篇文章在2024年2月19日被记录 2024年暂时的目标 忙碌的一年需要记录,不然没什么东西值得回头 1、高质量的完成任务,学习中工作,工作中学习 2、制作一个蓝牙音箱,根据自己的喜好增加低音 已经完成 查看这里 3、给弟弟做一个固定翼航模飞机 材料购买完成 五一假期回家做 2024.5.6更新: 阅读全文
摘要:
此篇文章在2024年1月9日被记录 熟悉了解本章博客需要你有较为入门的编程基础,包括但是不限于C语言、python 1、前言 最近在老五这里看到4.2寸的三色墨水屏只要7.5一张,于是下单了两个,到货后发现是全新设备,保护膜都在,拆开后发现是telink8359处理器,3个纽扣电池,这个价格还要什么 阅读全文
摘要:
此篇文章在2023年12月28日被记录 1、前言 MCU系统中的低功耗功能非常重要,如果你的MCU系统供电方式是连接市电,降低功耗可以减少发热,延长使用寿命;如果你的设备是移动端设备,使用小型电池供电,那么低功耗的意义就更大了,更低的功耗可以延长使用时长,提高用户体验。 2、硬件降低功耗的方式 正确 阅读全文
摘要:
此篇文章在2023年12月20日被记录 1.前言 在某些情况下,我们的虚拟机可能会断网运行,碰巧此时在物理机下需要运行自动化程序,虚拟机也要同步运行,但是虚拟机断网了,也没办法使用SSH或者其他交互方式,那此时怎么办呢? 2.在物理机上指定虚拟机运行指令 2.1VMrun 我们的VMware在安装时 阅读全文
摘要:
此篇文章在2022年12月19日被记录 简介 软件设计原则是指软件在架构设计或者在详细设计过程中所需要遵循的原则,现有的软件设计模式都是在不同场景下对软件设计原则的应用,良好的软件项目实践都会在设计及编码阶段思考或者遵循常见的设计原则来实现最终的设计目标。 设计原则的最终目的是使软件产品能实现指定的 阅读全文
摘要:
此篇文章在2023年12月6日被记录 1、前言 先写一个简单的测试程序并且运行: #include <stdio.h> #include <stdlib.h> #include <time.h> int array[1024][1024] = {0}; int main() { int begint 阅读全文