一、认识类图类图可以说是UML里使用频率最高的,类图是描述系统中的类,以及各个类之间的关系的静态视图。能够让我们在正确编写代码以前对系统有 一个全面的认识。类图是一种模型类型,确切的说,是一种静态模型类型。类图表示类、 接口和它们之间的协作关系,用于系统设计阶段。类图其实大家基本都见过,没见过百度一下就一堆: 那么类图的具体结构是什么样的呢? 它是由三个矩形标识的,最上面的部分
前言本章是复刻B站UP主Super大大怪的开源资料,期间复刻起来不难,不过由于本人电脑一些乱七八糟的问题,还是花了一天多时间找问题,就很烦。一、硬件准备首先你需要一块ESP32开发板,本人使用的是一块ESP32-WROOM-32核心板,关于ESP32各个型号的区别可以进入乐鑫官网查看。然后准备一块屏幕,我使用的是一块2.8寸(240*240)的tft屏幕,驱动是ST7789,使用spi通信协议。二
_a null pfont was passed to textfont()
文章目录背景方法将PNG图片转为字库文件LVGL加载自定义字体图标参考背景在LVGL中,用将图片转为C语言数组的方式储存的时候,图片转换的数组过大,当图片过多时会出现存不下的问题。因此,可以使用字库图标解决该问题。方法将PNG图片转为字库文件首先,我们将图片通过PS转为SVG矢量图,然后再用SVG转TTF工具转为TTF字库,过程如下:打开阿里妈妈创意中心点击资源管理->我的项目,新建项目并上
cp qt-everywhere-opensource-src-5.5.0.tar.gz /opt/qt/2.1 解压qt源码sudo tar xzf qt-everywhere-opensource-src-5.5.0.tar.gz2.2 修改编译的配置文件gec@ubuntu:/opt/qt/qt-everywhere-opensource-src-5.5.0/qtbase/mkspecs/l
LVGL_多界面切换1、创建多个界面(create_page1();)2、加载一个界面显示(lv_scr_load(page1);)3、切换不同界面显示(lv_scr_load_anim(page2, LV_SCR_LOAD_ANIM_OVER_LEFT, 300, 0, false);) static lv_obj_t * page1; static lv_obj_t * page2;
之前有记录过在 esp32 中使用 LVGL 的笔记,需要的小伙伴可以了解一下,esp-idf 移植 lvgl8.3.3我之前整理的学习资料:一、准备材料开发板:一块 linux 的开发板 或 linux 的虚拟机lvgl:8.3.3系统:ubuntu 18.04注意:在 linux 环境下使用 lvgl 就相对比较简单了,这里记录了两个方式。二、方式一因为 linux 环境下,官方已经帮我们创建
全彩屏的使用1. SPI 显示屏(控制器 ST7735S)的介绍;2. 显示屏的常用 API;3. 循迹状态的本地 (显示屏)、远程 (WiFi)实时显示;4. 扩展测试及日报编写 学习路径1、学习了解全彩屏的基本概念,了解程序员眼中的全彩屏;2、了解LED彩屏常用的驱动芯片;3、实验用的LCD驱动芯片为ST7735S,查找阅读相关的Arduino函数库;4、移植函数库到RPI Pico
最近的项目在做socket通信报文解析的时候,用到了结构体与字节数组的转换;由于客户端采用C++开发,服务端采用C#开发,所以双方必须保证各自定义结构体成员类型和长度一致才能保证报文解析的正确性,这一点非常重要。 首先是结构体定义,一些基本的数据类型,C#与C++都是可以匹配的:[StructLayoutAttribute(LayoutKind.
原文:https://docs.arduino.cc/learn/programming/sd-guide Hardware & Software Required Arduino Board with SD Card Slot* Arduino IDE (online or offline). F
原文:Play a Melody using the tone() function | Arduino Documentation Play a melody with a Piezo speaker. LAST REVISION:2023/12/05 22:33 This example sho
1.嵌入式Qt简介Qt 是一个跨平台的应用程序开发框架。使用Qt开发的应用程序,只需要编写一套代码,然后把这套代码放在不同平台的Qt环境去编译,就会生成可以运行在对应平台的应用程序。例如,我在Windows写了一个串口助手,这套代码不用修改,放在Linux环境下的Qt开发环境,重新编译,就可以生成可以在Linux环境下运行的串口助手,当然,Qt支持的环境有很多。不同平台下的移植,只需要修改很小一
原文:Windows 下部署Redis 主从模式+哨兵模式+JAVA连接方式_java redis部署-CSDN博客 前言之前项目需求部署redis高
CMake说明cmake的定义是什么 ?-----高级编译配置工具当多个人用不同的语言或者编译器开发一个项目,最终要输出一个可执行文件或者共享库(dll,so等等)这时候神器就出现了-----CMake!所有操作都是通过编译CMakeLists.txt来完成的—简单官 方网站是 www.cmake.org,可以通过访问官方网站获得更多关于 cmake 的信息学习CMake的目的,为将来处
态和无状态服务是两种不同的服务架构,两者的不同之处在于对于服务状态的处理。 服务状态是服务请求所需的数据,它可以是一个变量或者一个数据结构。无状态服务
1. Redis集群简介1.1 什么是Redis集群Redis集群是一种通过将多个Redis节点连接在一起以实现高可用性、数据分片和负载均衡的技术。它允许Redis在不同节点上同时提供服务,提高整体性能和可靠性。根据搭建的方式和集群的特性,Redis集群主要有三种模式:主从复制模式(Master-Slave)、哨兵模式(Sentinel)和Cluster模式。1.2 Redis集群的作用和优势高可
本文内容开始之前创建资源组创建 AKS 群集连接到群集显示另外 4 个Azure Kubernetes 服务 (AKS) 是可用于快速部署和管理群集的托管式 Kubernetes 服务。 在本快速入门中,请执行以下操作:使用 Azure CLI 部署 AKS 群集。使用一组微服务和模拟零售场景的 Web 前端运行示例多容器应用程序。 备注此示例应用程序仅用于演示目的,并不代表 Kuber
了解 ESP32 FreeRTOS:初学者指南ESP32 FreeRTOS是什么?如何使用FreeRTOS?哪些常用的函数?xTaskCreate()vTaskDelete()vTaskDelay()xTicksToDelay()xSemaphoreCreateBinary()xSemaphoreGive()xSemaphore:要释放的信号量的句柄。xSemaphore:要获取的信号量的句柄。x
#if 0 #include <Arduino.h> #include <NTPClient.h> // change next line to use with another board/shield //#include <ESP8266WiFi.h> #include <WiFi.h> //
通过《C语言和C++到底有什么关系?》一节的学习,读者已经了解了 C++ 和 C 语言之间的关系。简单的理解,C++ 就是在 C 语言的基础上增加了一些新特性,从大的方面讲,C++ 不仅支持面向过程编程,还支持面向对象编程和泛型编程;从小的方面讲,C++ 还支持命名空间、函数重载、内联函数等。在此基础上,很多读者都存在一个疑问,即在一个项目中,能否既包含 C++ 程序又包含 C 程序呢?换句话说
C与C++的相互调用方法C与C++为什么相互调用的方式不同C++中调用CC中调用C++致谢C与C++为什么相互调用的方式不同 C 和 C++ 之间的相互调用方式存在区别,主要是由于 C 和 C++ 语言本身的设计和特性不同。函数调用和参数传递方式不同:C 和 C++ 在函数调用和参数传递方面有一些不同之处。C 使用标准的函数调用约定,而 C++ 在函数调用中可能包含额外的信息,如函数重载和默认参
背景:这篇文章主要讲的是kuberntes的自动伸缩pods的能力。讲述如何使用Horizontal Pod Autoscaler(HPA)来实现自动伸缩应用。 使用一个负载生成器来模拟服务负载高的情形。一个HPA对象用来监控pods的资源使用情况,通过对比实际的资源情况与理想的资源情况,来控制应用的自动伸缩。 例如,一个应用初始化时有两个pods,当前CPU的平均使用率达到100%,但是我们想每
Knative中提供了开箱即用、基于流量请求的自动扩缩容KPA(Knative Pod Autoscaler)功能。本文介绍如何基于流量请求数实现服务自动扩缩容。前提条件已创建ACK托管集群或ACK Serverless集群,且集群版本为1.20及以上。具体操作,请参见已创建Kubernetes托管版集群、已创建ACK Serverless集群。实现原理Knative Serving会为每个Pod
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号