<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[RebrithMan的学习笔记]]></title><description><![CDATA[2020，沉淀自己，厚积薄发！]]></description><link>https://blog.youkuaiyun.com/Black_Leopard</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Black_Leopard]]></copyright><item><title><![CDATA[嵌入式图形库-LVGL v9.6-源码结构]]></title><link>https://blog.youkuaiyun.com/Black_Leopard/article/details/168876830</link><guid>https://blog.youkuaiyun.com/Black_Leopard/article/details/168876830</guid><author>Black_Leopard</author><pubDate>Fri, 23 Oct 2026 15:21:30 +0800</pubDate><description><![CDATA[注意：模拟器里 lvgl 库版本，必须和单片机工程里 LVGL 版本完全一致（v8.3.x 或 v9.x，大版本不能错），否则 API 不兼容，大量编译报错。在开发中，使用lv_port_pc_vscode模拟开发，UI 业务代码（src 下的页面、控件逻辑）可以直接在单片机复用。2. 新建单片机工程（ESP-IDF / STM32 Keil/CubeIDE），添加 LVGL 源码（版本对齐）。触摸驱动 + 实现输入回调。新增文件夹后，必须把 c 文件加入编译列表，否则不会编译，报找不到函数。]]></description><category></category></item><item><title><![CDATA[嵌入式图形库-LVGL v9.6-环境搭建（Windows+VSCode模拟）]]></title><link>https://blog.youkuaiyun.com/Black_Leopard/article/details/168768702</link><guid>https://blog.youkuaiyun.com/Black_Leopard/article/details/168768702</guid><author>Black_Leopard</author><pubDate>Thu, 22 Oct 2026 16:28:47 +0800</pubDate><description><![CDATA[将lv_port_pc_vscode\SDL2-2.32.10\x86_64-w64-mingw32\bin目录下的DAL2.DLL和sdl2-config文件拷贝至项目的bin目录下。在simulator.code-workspace项目文件中添加CMake目录。只解压了SDL2包，没有告知项目SDL2包的位置。官网： https://www.libsdl.org。官网： http://mingw-w64.org。官网： https://cmake.org。官网： https://lvgl.io。]]></description><category></category></item><item><title><![CDATA[嵌入式图形库-LVGL v9.6-基础概念]]></title><link>https://blog.youkuaiyun.com/Black_Leopard/article/details/168555584</link><guid>https://blog.youkuaiyun.com/Black_Leopard/article/details/168555584</guid><author>Black_Leopard</author><pubDate>Tue, 20 Oct 2026 16:29:17 +0800</pubDate><description><![CDATA[常见事件：LV_EVENT_CLICKED点击、LV_EVENT_PRESSING按下、LV_EVENT_VALUE_CHANGED值变化（滑块 / 开关）、LV_EVENT_DRAW_PART_BEGIN绘制回调。示例：lv_obj_t *label = lv_label_create(lv_screen_active());注册：lv_obj_add_event_cb(obj, event_handler, LV_EVENT_CLICKED, user_data);推荐：简单排列用 Flex；]]></description><category></category></item><item><title><![CDATA[ESP32-S3-LCD]]></title><link>https://blog.youkuaiyun.com/Black_Leopard/article/details/168447831</link><guid>https://blog.youkuaiyun.com/Black_Leopard/article/details/168447831</guid><author>Black_Leopard</author><pubDate>Mon, 19 Oct 2026 17:05:43 +0800</pubDate><description><![CDATA[/ IO层句柄：代表物理总线（SPI/I2C/I80/RGB），负责收发命令/像素// 面板层句柄：代表屏幕设备，上层绘图、旋转、复位使用// 颜色传输完成回调函数原型特点：内存由用户自己 malloc 分配，驱动不申请 frame buffer；用户管理内存生命周期。关键配置：.user_fbs[0] = user_frame_buffer;]]></description><category></category></item><item><title><![CDATA[ESP32-S3-RS485]]></title><link>https://blog.youkuaiyun.com/Black_Leopard/article/details/168343433</link><guid>https://blog.youkuaiyun.com/Black_Leopard/article/details/168343433</guid><author>Black_Leopard</author><pubDate>Sun, 18 Oct 2026 19:08:19 +0800</pubDate><description><![CDATA[ESP32-S3 无专属 RS485 硬件外设，通常通过片上 UART 串口 + 外部 RS485 收发器（如MAX485、SP3485）实现协议转换，将单端 UART 信号转为差分 RS485 信号，实现远距离、多节点、抗干扰串口通信。RS485 解决了普通 TTL 串口传输距离近、抗干扰差、无法多节点组网的痛点，是工业传感器、楼宇自控、仪器仪表、工控总线、Modbus 通信的基础物理载体。RS485 是一种差分、半双工、多点总线、长距离工业串行通信标准，属于物理层总线规范。]]></description><category></category></item><item><title><![CDATA[ESP32-S3-TWAI(CAN)]]></title><link>https://blog.youkuaiyun.com/Black_Leopard/article/details/168247404</link><guid>https://blog.youkuaiyun.com/Black_Leopard/article/details/168247404</guid><author>Black_Leopard</author><pubDate>Sat, 17 Oct 2026 18:23:00 +0800</pubDate><description><![CDATA[对应 IDF twai_filter_config_t；备注：恢复完成通过 on_state_change 回调 或 twai_node_get_info 查询，函数本身不阻塞等待恢复结束。twai_node_receive_from_isr()：中断内调用，把接收到的报文拷贝出来，送入接收队列。on_rx_done(中断回调) → twai_node_receive_from_isr()。功能：重新配置时序；Bus‑Off 后必须执行总线恢复 twai_recover_from_bus_off()。]]></description><category></category></item><item><title><![CDATA[ESP32-S3-SPI]]></title><link>https://blog.youkuaiyun.com/Black_Leopard/article/details/168143291</link><guid>https://blog.youkuaiyun.com/Black_Leopard/article/details/168143291</guid><author>Black_Leopard</author><pubDate>Fri, 16 Oct 2026 19:56:25 +0800</pubDate><description><![CDATA[SPI 时钟源为 APB 时钟 80MHz，通过整数分频得到目标频率。实际输出频率和设定值会存在微小偏差。]]></description><category></category></item><item><title><![CDATA[ESP32-S3-I2C]]></title><link>https://blog.youkuaiyun.com/Black_Leopard/article/details/168026082</link><guid>https://blog.youkuaiyun.com/Black_Leopard/article/details/168026082</guid><author>Black_Leopard</author><pubDate>Thu, 15 Oct 2026 16:57:34 +0800</pubDate><description><![CDATA[/I2C命令，标记操作类型（START、WRITE、READ、STOP）。union {//WRITE命令参数结构体//command 设置为 I2C_MASTER_CMD_WRITE 时使用struct {//WRITE操作是否开启ACK校验。//待发送数据指针。//需要写入的总字节数。} write;//READ命令参数结构体//command 设置为 I2C_MASTER_CMD_READ 时使用struct {//读完之后发送的ACK值（ACK / NACK）。]]></description><category></category></item><item><title><![CDATA[ESP32-S3-Temp_Sensor(内部温度传感器)]]></title><link>https://blog.youkuaiyun.com/Black_Leopard/article/details/167915240</link><guid>https://blog.youkuaiyun.com/Black_Leopard/article/details/167915240</guid><author>Black_Leopard</author><pubDate>Wed, 14 Oct 2026 15:20:52 +0800</pubDate><description><![CDATA[可以独立操作温度传感器：休眠模式下，主 CPU 睡眠，ULP 周期性读取芯片温度，温度超标再唤醒主 CPU，做过热保护，非常适合低功耗场景。输出状态信号：SENS_TSENS_OUT[7:0]原始 8bit 温度数据、SENS_TSENS_READY采样完成标志。tsens_xpd / tsens_clk：电源使能、时钟，来自Tsensor_cntl控制器，控制模拟传感器上电、时钟。SENS_TSENS_POWER_UP_FORCE：强制上电；ESP_ERR_INVALID_STATE：尚未使能。]]></description><category></category></item><item><title><![CDATA[ESP32-S3-Cap_Touch_Sens(电容式触摸传感器)]]></title><link>https://blog.youkuaiyun.com/Black_Leopard/article/details/167809160</link><guid>https://blog.youkuaiyun.com/Black_Leopard/article/details/167809160</guid><author>Black_Leopard</author><pubDate>Tue, 13 Oct 2026 16:44:43 +0800</pubDate><description><![CDATA[START：单次测量周期启动使能信号，高电平代表采样周期开启。Pad Voltage：触摸焊盘引脚电压，核心充放电观测波形。DREFH/DREFL：硬件上下参考电压阈值，电压在二者区间内完成往复充放电。Slope: DAC[2:0]：3 位 DAC 配置充放电斜率，DAC 数值直接决定电容充放电快慢。OUT：        硬件比较输出脉冲，脉冲总数就是触摸原始计数值。TIE_OPT：两种采样时序模式配置位（0/1 两种工作模式）。]]></description><category></category></item><item><title><![CDATA[ESP32-S3-ADC(模数转换器)]]></title><link>https://blog.youkuaiyun.com/Black_Leopard/article/details/167701000</link><guid>https://blog.youkuaiyun.com/Black_Leopard/article/details/167701000</guid><author>Black_Leopard</author><pubDate>Mon, 12 Oct 2026 19:01:45 +0800</pubDate><description><![CDATA[CLK_MUX时钟选择器 → DIG_DIV分频器输出DIGADC_CLK → 再经DIG_SAR_DIV二次分频得到DIGADC_SARCLK，供给 ADC1 数字读取链路；填充adc_oneshot_chan_cfg_t → adc_oneshot_config_channel()配置通道衰减。填充adc_oneshot_config_t → adc_oneshot_new_unit()获取句柄。填充adc_continuous_handle_cfg_t，配置采样通道、采样率、DMA 格式。]]></description><category></category></item><item><title><![CDATA[ESP32-S3-PCNT(脉冲计数控制器)]]></title><link>https://blog.youkuaiyun.com/Black_Leopard/article/details/167494713</link><guid>https://blog.youkuaiyun.com/Black_Leopard/article/details/167494713</guid><author>Black_Leopard</author><pubDate>Sat, 10 Oct 2026 17:30:08 +0800</pubDate><description><![CDATA[PCNT（Pulse Counter，脉冲计数控制器）是ESP32-S3内置的专用硬件脉冲计数外设，专为高频脉冲采集、正交编码器测速、脉冲信号统计设计。配置寄存器：PCNT_FILTER_EN_Un（滤波使能）、PCNT_FILTER_THRES_Un（滤波阈值）。PCNT_CHx_POS_MODE_Un（sig 上升沿动作：加 / 减 / 不计数）。PCNT_CHx_NEG_MODE_Un（sig 下降沿动作：加 / 减 / 不计数）。]]></description><category></category></item><item><title><![CDATA[ESP32-S3-MCPWM(电机控制脉宽调制器)]]></title><link>https://blog.youkuaiyun.com/Black_Leopard/article/details/167390627</link><guid>https://blog.youkuaiyun.com/Black_Leopard/article/details/167390627</guid><author>Black_Leopard</author><pubDate>Fri, 09 Oct 2026 16:44:49 +0800</pubDate><description><![CDATA[    		ESP32-S3 内置MCPWM（Motor Control Pulse Width Modulator，电机专用脉宽调制控制器），是专为工业电机驱动、大功率执行器设计的专用硬件PWM外设。
    		MCPWM集成电机驱动全套专属硬件机制，聚焦直流有刷电机、无刷电机、步进电机、H桥驱动、电源逆变、大功率调速场景，是ESP32-S3实现工业级电机控制的核心外设。    		直流有刷电机 H 桥驱动（DRV8833）。
    		三相无刷 BLDC 电机驱动。
    		正交编码器测速、位置]]></description><category></category></item><item><title><![CDATA[ESP32-S3-LEDC(LEDPWM控制器)]]></title><link>https://blog.youkuaiyun.com/Black_Leopard/article/details/167275749</link><guid>https://blog.youkuaiyun.com/Black_Leopard/article/details/167275749</guid><author>Black_Leopard</author><pubDate>Thu, 08 Oct 2026 15:37:21 +0800</pubDate><description><![CDATA[时钟源经过定时器预分频、计数器生成周期计数值，计数值进入 PWM 比较电路，结合占空比、相位参数产生 PWM 波形，结合空闲电平配置与输出使能，输出 PWM 信号。]]></description><category></category></item><item><title><![CDATA[ESP32-S3-RTC_CNTL(低功耗管理)]]></title><link>https://blog.youkuaiyun.com/Black_Leopard/article/details/166897036</link><guid>https://blog.youkuaiyun.com/Black_Leopard/article/details/166897036</guid><author>Black_Leopard</author><pubDate>Wed, 30 Sep 2026 14:34:15 +0800</pubDate><description><![CDATA[【代码】ESP32-S3-RTC_CNTL(低功耗管理)]]></description><category></category></item><item><title><![CDATA[ESP32-S3-WDT(XTWDT、MWDT、RWDT看门狗)]]></title><link>https://blog.youkuaiyun.com/Black_Leopard/article/details/166846221</link><guid>https://blog.youkuaiyun.com/Black_Leopard/article/details/166846221</guid><author>Black_Leopard</author><pubDate>Tue, 29 Sep 2026 17:32:59 +0800</pubDate><description><![CDATA[TIMG0_WDTCONFIG1_REG：配置预分频系数 TIMG0_WDT_CLK_PRESCALE，调整看门狗计数时钟频率，控制看门狗计时速度。TIMG1_WDTCONFIG1_REG 配置预分频系数 TIMG1_WDT_CLK_PRESCALE，调整看门狗计数时钟频率。其他任务需用 esp_task_wdt_add() 或 esp_task_wdt_add_user() 订阅。CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE 开启RWDT看门狗。]]></description><category></category></item><item><title><![CDATA[ESP32-S3-TIMG(定时器组)]]></title><link>https://blog.youkuaiyun.com/Black_Leopard/article/details/166790302</link><guid>https://blog.youkuaiyun.com/Black_Leopard/article/details/166790302</guid><author>Black_Leopard</author><pubDate>Mon, 28 Sep 2026 16:37:28 +0800</pubDate><description><![CDATA[ALARM_VALUE：预设报警阈值（TIMG_TxALARMLO_REG + TIMG_TxALARMHI_REG 拼接 54 位）。返回：ESP_OK / ESP_ERR_NOT_FOUND / ESP_ERR_INVALID_ARG。TB_CLK，每来一个时钟沿计数值 TIMG_VALUE +1 / -1。TIMG_Tx_EN：定时器使能开关，1 = 启动计数，0 = 暂停。TIMG_Tx_LOAD_LO / LOAD_HI：初始加载值。控制信号：TIMG_Tx_ALARM_EN，使能比较报警功能。]]></description><category></category></item><item><title><![CDATA[ESP32-S3-SYSTIMER(系统定时器)]]></title><link>https://blog.youkuaiyun.com/Black_Leopard/article/details/166595730</link><guid>https://blog.youkuaiyun.com/Black_Leopard/article/details/166595730</guid><author>Black_Leopard</author><pubDate>Thu, 24 Sep 2026 16:19:39 +0800</pubDate><description><![CDATA[esp_timer_create_args_t（绑定回调、分发模式、名称）。]]></description><category></category></item><item><title><![CDATA[ESP32-S3-UART(通用异步收发传输器)]]></title><link>https://blog.youkuaiyun.com/Black_Leopard/article/details/166489118</link><guid>https://blog.youkuaiyun.com/Black_Leopard/article/details/166489118</guid><author>Black_Leopard</author><pubDate>Wed, 23 Sep 2026 17:56:25 +0800</pubDate><description><![CDATA[发送：CPU → APB 总线 → Tx_FIFO → Tx_FSM → 信号反向模块 → txd_out引脚。接收：rxd_in引脚 → 信号反向 / 回环选择 → Rx_FSM → Rx_FIFO → APB 总线 → CPU。]]></description><category></category></item><item><title><![CDATA[ESP32-S3-INTERRUPT(中断矩阵)]]></title><link>https://blog.youkuaiyun.com/Black_Leopard/article/details/166367307</link><guid>https://blog.youkuaiyun.com/Black_Leopard/article/details/166367307</guid><author>Black_Leopard</author><pubDate>Tue, 22 Sep 2026 16:38:07 +0800</pubDate><description><![CDATA[中断矩阵 = 片内中断信号交换机。功能：软件自由把任意外设中断信号，连接到任意 CPU 中断通道。意义：带来极高灵活性，区别于传统固定中断线路单片机。]]></description><category></category></item></channel></rss>