- 博客(17)
- 收藏
- 关注
原创 LVGL学习笔记 基础对象
LVGL屏幕的坐标系和我们熟悉的坐标系不⼀样,LVGL的坐标系是我们⼀般称之为“LCD坐标系”,它的原点位置和直⻆坐标系的不⼀样(坐标原点在左上⻆,⽔平向右为x轴正⽅向,竖直向下为y轴正⽅向)。活动屏幕(screen_active) < 顶层(top layer) < 系统层(system layer)屏幕是没有父对象的基础对象。指向最初触发事件的对象。指向当前处理事件的对象。可以在不同层上创建对象。
2025-05-27 16:42:47
1102
原创 LVGL学习笔记
LVGL的定时器处理程序是其内部的一个重要组件,负责管理并调度各种任务,以确保界面的流畅运行和响应性能,可以说LVGL是由定时器处理程序驱动起来的。LVGL的定时器处理程序是一个内置的任务系统,允许开发者注册函数,使其可以定期被调用,它帮助管理时间敏感的操作(毫秒级别)和周期性的活动。可以看到,在循环中不断调用定时器处理程序,管理并调度各种任务。
2025-05-26 16:51:06
261
原创 ESP32学习笔记 - 蓝牙
ATT和GATT** - GATT定义了一个框架,将attribute结构组织起来,将attribute的内容分为服务、特征、值、或描述 **
2025-04-28 15:50:27
332
原创 ESP32 - 配网(SmartConfig)
ESP32 提供了多种灵活的配网方式,包括 SmartConfig、AP 模式配网和 BLE 配网等。每种方式都有其适用场景和优缺点。
2025-04-26 15:40:48
3078
原创 ESP32入门 - 介绍与环境搭建
它广泛应用于物联网(IoT)领域,支持多种通信协议,具备强大的处理能力和丰富的外设接口,是开发智能硬件的理想选择。接下来,你可以开始探索更多 ESP32 的功能与应用,打造属于自己的物联网项目!ESP-IDF(Espressif IoT Development Framework)是乐鑫官方主推的 SDK,支持最新的特性和功能,同时定期修复 BUG,保持良好的稳定性。相较于其他开发框架,ESP-IDF 提供了更接近底层的控制能力,能够最大化利用 ESP32 的硬件性能,满足对运行速度有较高要求的项目。
2025-04-25 22:44:35
3912
原创 ESP32 - IOT应用
每种模式都有其特定的应用场景和使用建议。下面将详细介绍这三种模式的异同点,并给出相应的使用建议。根据具体需求选择合适的 Wi-Fi 模式,可以使你的项目更加高效和稳定。
2025-04-25 19:59:04
890
原创 ESP32中的NVS 和SPIFFS
NVS(Non-Volatile Storage,非易失性存储)是 ESP-IDF 提供的一种轻量级、高效的存储机制,用于在 ESP32 的闪存中保存数据。它允许开发者以键值对的形式存储配置信息或其他需要持久化的数据。
2025-04-25 17:14:42
1382
原创 ESP32入门-学习笔记 ESP32中的分区表
如果你要自定义分区表,首先在项目目录下使用命令进入ESP32配置界面**进入Partition Table **选择分区表可以看到,ESP默认使用的分区表为Single factory app选择第四项:自定义分区输入你的分区表文件名,这里我设置为,回车确认。按 s 保存->回车确认->按q退出配置找到esp-idf中的partitions_singleapp.csv文件内容,复制到项目的partitions_user.csv文件中。
2025-04-25 15:13:51
826
原创 ESP32入门 - 学习笔记 freertos
同步关注的是任务间的有序协作。互斥则是关于如何安全地访问共享资源,避免并发冲突。通过合理使用同步和互斥机制,RTOS 可以有效地管理多个任务之间的交互,提高系统的稳定性和效率。
2025-04-18 16:20:41
1097
原创 ESP32入门 - 学习笔记 程序架构和启动分析
ESP的启动流程始于一个不可更改的一级引导程序,用于确定是否进入下载模式或者继续执行二级引导程序。接着,二级引导程序加载实际的应用程序,并完成必要的初始化工作。最后,应用程序接管控制权,执行用户编写的app_main()函数来实现特定的功能。这个过程确保了即使在复杂的应用场景下,ESP设备也能可靠地启动并运行所需的服务。
2025-04-17 16:27:28
1136
原创 江科大PID学习记录 四
这会导致D项瞬间输出一个非常大的正向调控力,然后又会输出一个比较大的反向调控力,然后随着误差变化逐渐放缓,斜率从负的比较大变化为负的比较小,D项输出反向比较小的调控力。D项输出取决与本次误差与上次误差连线的斜率,由图可以观察到,绿线和红线在某点的斜率相差较大,甚至有方向相反的情况出现。超调问题:当实际值与目标值相等时,误差为0,p项输出的力立刻变为0,但是积分项累加不会立刻变为0,所以导致超调。可以看到,加入输出偏移后,目标值与实际值重合的较好,但是输出偏移会造成最终实际位置的抖动,这需要输入死区来解决。
2025-04-13 10:36:52
780
原创 江科大PID学习记录 二
某点的微分即为求该点的斜率,离散后使用相隔一个时间间隔T的两个点之间连线的斜率近似。如图,红色直线为5T时刻的斜率,离散后用error(5) 减去 error(4)的差除以时间间隔T来替代,当T足够小时,二者近似相等。原来积分为绿色曲线与X轴和Y轴围成的面积之和,离散后为图示所有蓝色矩形的面积之和, T为数据采样的间隔,由图可知,T的值越小,二者的值越相近,当T的值足够小,二者相等。增量式PID相较于位置式PID去除了求和,只是本次,上次,上上次的error的线性组合。
2025-04-02 10:36:11
368
原创 江科大PID学习记录
输出值就是调控力度,可以理解为力的大小。例如使用PWM控制一个电机,输出值就是PWM波的占空比。但是因为开环控制不接受被控对象的反馈,所以只能大概的控制被控对象某一物理量(比如速度)的变化趋势,但是不能精准控制物理量的实际值,更不能根据实际情况动态调整输出值。例如我想要通过PWM控制一个电机输出一定的速度,但是我只知道输出的占空比越大,电机转速越快,占空比越小,电机转速越慢。同时,如果输出一个固定的占空比,那么当电机负载变化,或者电源电压变化时,电机的输出速度就有可能会改变。
2025-04-01 20:27:53
369
原创 OLED模块
x方向有128个bit,y方向有64个bit(划分为0 ~ 7个Page),数据按页写入,高位在下,低位在上。非连续模式:只需要在第一次发送一个Control byte,用于指定之后的数据为Data还是Command。3点SPI没有D/C#线,每次一个字节数据其实传输的为9个bit,第一位指定该数据是命令还是数据。Co位:指定数据传输为连续模式还是非连续模式, 置1设置为连续模式,置0为非连续模式。D/C位:指定后面的Data byte是数据还是命令,置1为数据,置0为命令。之后,写入要显示的数据即可。
2025-04-01 17:24:34
610
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人