ESP32驱动ST7796S LCD的PlatformIO标准组件

news2026/4/7 1:07:49
1. 项目概述htcw_esp_lcd_st7796是一个专为 PlatformIOPIO生态定制的 ESP-IDF 兼容 LCD 驱动组件封装了 Espressif 官方esp_lcd驱动框架中对 ST7796S 显示控制器的支持。该组件并非独立实现底层时序逻辑而是基于 ESP-IDF v5.0 的esp_lcd抽象层构建通过标准 HAL 接口完成 RGB 并行接口8080/6800 模式、SPI 串行接口四线/三线及 MIPI DSI在支持芯片上三种物理连接方式下的初始化、寄存器配置、帧缓冲管理与像素刷新控制。ST7796S 是 Sitronix 推出的高性能 24-bit RGB TFT LCD 控制器广泛应用于 3.5–7 中小尺寸工业 HMI、便携式仪器仪表及嵌入式人机交互终端。其核心特性包括最高支持 480×320 分辨率QVGA内置 172,800 字节显存可映射为 480×320×24bit支持 16M 色真彩显示具备伽马校正、亮度/对比度/饱和度调节、水平/垂直滚动、部分区域更新Partial Mode、睡眠模式Sleep In/Out等高级显示控制功能兼容多种数据总线宽度8/9/16/18/24-bit RGB与同步信号极性配置。htcw_esp_lcd_st7796组件的核心价值在于将原始 ESP-IDF 示例代码中分散的 ST7796S 初始化序列、寄存器表与驱动适配逻辑封装为 PlatformIO 可直接引用的标准化库模块。它消除了开发者手动复制粘贴lcd_st7796s.c/h文件、硬编码 GPIO 引脚定义、反复调试时序参数的工程负担使 RGB LCD 驱动集成过程从“寄存器级调试”降维至“配置即用”层级。该组件严格遵循 ESP-IDFesp_lcd驱动模型所有功能均通过esp_lcd_panel_dev_t设备句柄与esp_lcd_panel_io_handle_tIO 句柄进行操作与 FreeRTOS 任务调度、DMA 传输、LVGL 图形库无缝协同。其设计目标明确指向工业级嵌入式产品的快速原型验证与量产固件开发而非教学演示或简易屏显。2. 硬件接口与电气特性ST7796S 支持三种主流物理接口htcw_esp_lcd_st7796组件对每种接口均提供完整支持但实际选用取决于目标 ESP32 系列 SoC 的外设资源与 PCB 布局约束。2.1 RGB 并行接口推荐用于高刷场景RGB 模式是 ST7796S 的原生高速接口适用于对帧率要求严苛的应用如动画、视频流。典型连接如下信号名ESP32 引脚建议说明R[7:0]GPIO26–GPIO198-bit或 GPIO26–GPIO1116-bit数据总线8/16-bit 模式需连续 GPIOG[7:0]GPIO18–GPIO118-bit或 GPIO10–GPIO316-bit同上注意 GPIO 分组限制B[7:0]GPIO23–GPIO168-bit或 GPIO2–GPIO2216-bitESP32-S3 支持 24-bit RGB需启用LCD_DATA_BUS_WIDTH_24_BITSDE(Data Enable)GPIO7必须驱动数据有效窗口HSYNCGPIO6行同步脉冲极性可配VSYNCGPIO5场同步脉冲极性可配PCLK(Pixel Clock)GPIO4由 LCD 控制器内部 PLL 生成频率决定刷新率典型 6–12 MHz关键电气约束所有 RGB 数据线与控制线必须严格等长布线±50 mil避免 skew 导致采样错误PCLK需使用低抖动晶振源ESP32-S3 的LCD_CAM外设可提供精确分频DE信号宽度必须覆盖整行有效像素周期不可包含 blanking 区域上电时序要求VDDIO3.3V需先于VCI模拟供电通常 3.3V 或 5V稳定且RESET信号需在电源稳定后保持 ≥10ms 低电平。2.2 SPI 串行接口适用于引脚资源受限场景当 RGB 总线引脚不足时ST7796S 支持 4 线 SPISCLK, MOSI, DCX, CS或 3 线 SPISCLK, MOSI, DCXCS 内部拉高。此模式牺牲带宽换取布线简洁性适合静态 UI 或低帧率更新场景。信号名ESP32 引脚说明SCLKGPIO12SPI 时钟最高支持 40 MHz需硬件支持MOSIGPIO13主机输出从机输入复用为SDADCXGPIO14Data/Command 选择线高电平写数据低电平写命令CSGPIO15片选低电平有效可由 GPIO 或 SPI CS 硬件控制RESETGPIO2硬复位非必需但强烈推荐SPI 时序关键点ST7796S 的 SPI 协议为 Mode 0CPOL0, CPHA0SCLK 空闲低电平数据在上升沿采样每次传输以 1 字节命令起始后跟 N 字节参数若需命令与参数间无延时像素数据写入需先发送0x2CMemory Write命令再连续发送 RGB565 格式像素流实际吞吐量受 SPI 频率与 DMA 效率制约40 MHz 下理论峰值约 5 MB/s但受 ESP32 SPI FIFO 深度64 字节影响需合理分包。2.3 接口选型工程决策树场景推荐接口理由工业 HMI60Hz 刷新、LVGL 动画RGB 并行带宽充足20MB/sCPU 占用率低于 5%支持双缓冲手持设备电池供电、UI 静态SPI 4线引脚节省 12 根PCB 成本降低功耗可控高可靠性仪表抗干扰要求高RGB 并行 屏蔽线缆差分时钟与数据分离EMI 显著优于 SPI 单端信号快速原型仅 ESP32-DevKitCSPI 4线无需修改核心板直接飞线连接3. 软件架构与 API 接口htcw_esp_lcd_st7796完全遵循 ESP-IDFesp_lcd驱动框架其软件栈分为三层底层 IO 驱动、面板控制抽象、应用接口。所有 API 均声明于esp_lcd_panel_st7796s.h头文件中无需额外包含私有头。3.1 核心 API 函数签名与用途函数参数说明返回值典型用途esp_lcd_panel_st7796s_init()esp_lcd_panel_io_handle_t io_handle,esp_lcd_panel_dev_config_t *panel_cfgesp_err_t初始化面板加载默认寄存器序列配置分辨率与色彩格式esp_lcd_panel_st7796s_del()esp_lcd_panel_dev_handle_t panel_handleesp_err_t释放面板资源关闭背光 GPIO若已配置esp_lcd_panel_st7796s_reset()esp_lcd_panel_dev_handle_t panel_handleesp_err_t发送软复位命令0x01等效于硬件RESET引脚脉冲esp_lcd_panel_st7796s_mirror()esp_lcd_panel_dev_handle_t panel_handle,bool mirror_x,bool mirror_yesp_err_t设置 X/Y 轴镜像用于旋转屏幕而不重绘帧缓冲esp_lcd_panel_st7796s_swap_xy()esp_lcd_panel_dev_handle_t panel_handle,bool swapesp_err_t交换 X/Y 坐标轴配合镜像实现 90°/270° 旋转3.2 面板配置结构体详解esp_lcd_panel_dev_config_t是驱动初始化的核心配置载体htcw_esp_lcd_st7796对其关键字段有特定约束typedef struct { int reset_gpio_num; // 复位引脚号-1 表示不使用硬件复位 uint8_t bits_per_pixel; // 像素位深ST7796S 固定为 16RGB565或 24RGB888 uint32_t disp_size_x; // 水平分辨率如 480 uint32_t disp_size_y; // 垂直分辨率如 320 uint32_t flags.fb_in_psram; // 是否将帧缓冲置于 PSRAM必选ST7796S 显存仅 172KB不足以存 480×320×2B uint32_t flags.use_dma; // 是否启用 DMA 传输RGB 模式下必须为 true } esp_lcd_panel_dev_config_t;关键配置项解析bits_per_pixelST7796S 硬件仅支持 RGB56516-bit和 RGB66618-bit输入htcw_esp_lcd_st7796默认采用 RGB565因其与 LVGL、FreeRTOS 图形栈兼容性最佳且带宽需求仅为 RGB888 的 2/3fb_in_psram由于 ESP32-S2/S3 的 PSRAM 容量普遍为 2–8MB而 480×320×2B 帧缓冲需 307.2KB远超内部 SRAM320KB故必须启用 PSRAM 分配否则heap_caps_malloc将失败use_dmaRGB 模式下 DMA 为强制选项ESP32 的LCD_CAM外设通过 DMA 将 PSRAM 中的帧缓冲自动推送至 LCDCPU 仅需启动一次传输后续完全零干预。3.3 IO 句柄创建SPI 与 RGB 差异IO 句柄定义了物理层通信方式htcw_esp_lcd_st7796提供两种工厂函数SPI IO 创建esp_lcd_panel_io_spi_createesp_lcd_panel_io_spi_config_t io_config { .dc_gpio_num 14, .spi_clk_speed_hz 26 * 1000 * 1000, // 26MHz 实测稳定 .lcd_cmd_bits 8, .lcd_param_bits 8, .spi_mode 0, .trans_queue_depth 10, // 传输队列深度影响多命令并发 }; esp_lcd_panel_io_handle_t io_handle NULL; ESP_ERROR_CHECK(esp_lcd_panel_io_spi_create(bus_spi_config, io_config, io_handle));RGB IO 创建esp_lcd_panel_io_rgb_createesp_lcd_panel_io_rgb_config_t io_config { .data_width 16, // 必须与面板数据总线宽度一致 .clk_src LCD_CLK_SRC_PLL160M, // 160MHz PLL 分频源 .pclk_hz 10 * 1000 * 1000, // 像素时钟 10MHz → 60Hz 刷新率 .hsync_pulse_width 1, // HSYNC 脉宽pixel clock cycles .hsync_back_porch 2, // HSYNC 后肩blanking 区域 .hsync_front_porch 2, .vsync_pulse_width 1, .vsync_back_porch 2, .vsync_front_porch 2, .flags.disp_hsync_active_low false, // HSYNC 极性依屏幕规格调整 .flags.disp_vsync_active_low false, .flags.disp_de_active_high true, }; esp_lcd_panel_io_handle_t io_handle NULL; ESP_ERROR_CHECK(esp_lcd_panel_io_rgb_create(bus_rgb_config, io_config, io_handle));时序参数计算公式以 480×32060Hz 为例行周期 1 / (60 Hz × 320 lines) ≈ 52.08 μs像素时钟pclk_hz 480 pixels × 52.08 μs ≈ 9.26 MHz → 取整 10 MHzhsync_front_porch 行周期 × 10% ≈ 5.2 μs → 52 pixel clocks4. 典型初始化流程与代码示例一个健壮的 ST7796S 初始化必须严格遵循上电时序、寄存器配置、背光控制三阶段。以下为 PlatformIO 环境下基于 FreeRTOS 的完整示例4.1 硬件资源定义platformio.ini 与 C 代码联动platformio.ini中需启用 PSRAM 与 LCD 外设[env:esp32s3-devkitc-1] platform espressif32 board esp32s3-devkitc-1 framework espidf build_flags -D CONFIG_SPIRAM_SUPPORTy -D CONFIG_LCD_ENABLEy -D CONFIG_LCD_RGB_INTERFACEyC 代码中定义引脚映射与原理图一致#define PIN_NUM_DC 14 #define PIN_NUM_CS 15 #define PIN_NUM_RST 2 #define PIN_NUM_BL 45 // 背光控制 GPIO // RGB 模式引脚组ESP32-S3 const lcd_rgb_bus_config_t bus_config { .clk_src LCD_CLK_SRC_PLL160M, .psram_clk_freq_mhz 80, .num_fbs 2, // 双缓冲避免撕裂 .rgb_gpio_nums { .r0 26, .r1 25, .r2 24, .r3 23, .r4 22, .r5 21, .r6 20, .r7 19, .g0 18, .g1 17, .g2 16, .g3 15, .g4 14, .g5 13, .g6 12, .g7 11, .b0 8, .b1 3, .b2 4, .b3 5, .b4 6, .b5 7, .b6 10, .b7 9, }, .de_gpio_num 7, .vsync_gpio_num 5, .hsync_gpio_num 6, .pclk_gpio_num 4, };4.2 完整初始化函数含错误处理esp_lcd_panel_handle_t panel_handle NULL; esp_lcd_panel_io_handle_t io_handle NULL; void lcd_st7796s_init(void) { // 步骤1初始化 IO 句柄以 RGB 为例 esp_lcd_panel_io_rgb_config_t io_config { .data_width 16, .pclk_hz 10000000, .hsync_pulse_width 1, .hsync_back_porch 2, .hsync_front_porch 2, .vsync_pulse_width 1, .vsync_back_porch 2, .vsync_front_porch 2, .flags.disp_hsync_active_low false, .flags.disp_vsync_active_low false, .flags.disp_de_active_high true, }; ESP_ERROR_CHECK(esp_lcd_panel_io_rgb_create(bus_config, io_config, io_handle)); // 步骤2配置面板参数 esp_lcd_panel_dev_config_t panel_config { .reset_gpio_num PIN_NUM_RST, .bits_per_pixel 16, .disp_size_x 480, .disp_size_y 320, .flags.fb_in_psram true, .flags.use_dma true, }; // 步骤3创建面板句柄并初始化 ESP_ERROR_CHECK(esp_lcd_new_panel_st7796s(io_handle, panel_config, panel_handle)); ESP_ERROR_CHECK(esp_lcd_panel_reset(panel_handle)); ESP_ERROR_CHECK(esp_lcd_panel_init(panel_handle)); // 步骤4配置显示方向默认为 0°此处设为 180° 翻转 ESP_ERROR_CHECK(esp_lcd_panel_st7796s_mirror(panel_handle, true, true)); // 步骤5启用面板退出睡眠模式 ESP_ERROR_CHECK(esp_lcd_panel_disp_on_off(panel_handle, true)); // 步骤6配置背光PWM 控制 ledc_timer_config_t ledc_timer { .speed_mode LEDC_LOW_SPEED_MODE, .timer_num LEDC_TIMER_0, .duty_resolution LEDC_TIMER_13_BIT, .freq_hz 5000, .clk_cfg LEDC_AUTO_CLK, }; ledc_channel_config_t ledc_channel { .speed_mode LEDC_LOW_SPEED_MODE, .channel LEDC_CHANNEL_0, .timer_sel LEDC_TIMER_0, .intr_type LEDC_INTR_DISABLE, .gpio_num PIN_NUM_BL, .duty 4095, // 100% 亮度 .hpoint 0, }; ledc_timer_config(ledc_timer); ledc_channel_config(ledc_channel); }4.3 关键错误码与调试策略错误码常见原因解决方案ESP_ERR_INVALID_ARGpclk_hz超出 LCD 外设支持范围ESP32-S3 为 1–20 MHz降低pclk_hz至 8 MHz检查clk_src配置ESP_ERR_NOT_FOUNDGPIO 引脚号超出 SoC 有效范围如 ESP32-S3 仅支持 GPIO0–GPIO48核对原理图更换为有效引脚ESP_ERR_NO_MEMPSRAM 未启用或内存碎片化检查platformio.ini中CONFIG_SPIRAM_SUPPORTy调用heap_caps_print_heap_info(MALLOC_CAP_SPIRAM)ESP_FAIL初始化后寄存器写入失败多因DCX信号时序错误或CS未拉低使用逻辑分析仪捕获DCX与SCLK时序确认DCX在命令字节期间为低电平5. 高级功能与性能优化5.1 部分刷新Partial Mode实现ST7796S 的Partial Mode允许仅刷新屏幕指定矩形区域大幅降低带宽消耗。htcw_esp_lcd_st7796通过esp_lcd_panel_draw_bitmap的坐标参数实现// 仅刷新 (100,100) 到 (200,200) 的 100×100 像素区域 uint16_t *partial_fb heap_caps_malloc(100 * 100 * 2, MALLOC_CAP_SPIRAM); // ... 填充 partial_fb 数据 ... esp_lcd_panel_draw_bitmap(panel_handle, 100, 100, 200, 200, partial_fb); free(partial_fb);性能对比480×320 屏幕全屏刷新307.2 KB/帧 → 60Hz 需 18.4 MB/s 带宽100×100 区域20 KB/帧 → 同帧率仅需 1.2 MB/s带宽降低 93%5.2 与 LVGL 图形库集成htcw_esp_lcd_st7796与 LVGL 的集成依赖于lv_port_disp移植层。关键配置如下static void lvgl_flush_cb(lv_disp_drv_t *drv, const lv_area_t *area, lv_color_t *color_map) { // 将 LVGL 的 color_mapRGB565直接写入 LCD 帧缓冲 esp_lcd_panel_draw_bitmap(panel_handle, area-x1, area-y1, area-x2 1, area-y2 1, (uint8_t *)color_map); lv_disp_flush_ready(drv); // 通知 LVGL 刷新完成 } void lv_port_disp_init(void) { static lv_disp_draw_buf_t draw_buf; static lv_color_t *buf1 NULL; static lv_color_t *buf2 NULL; // 分配双缓冲至 PSRAM buf1 heap_caps_malloc(480 * 10 * sizeof(lv_color_t), MALLOC_CAP_SPIRAM); buf2 heap_caps_malloc(480 * 10 * sizeof(lv_color_t), MALLOC_CAP_SPIRAM); lv_disp_draw_buf_init(draw_buf, buf1, buf2, 480 * 10); static lv_disp_drv_t disp_drv; lv_disp_drv_init(disp_drv); disp_drv.hor_res 480; disp_drv.ver_res 320; disp_drv.flush_cb lvgl_flush_cb; disp_drv.draw_buf draw_buf; lv_disp_drv_register(disp_drv); }5.3 低功耗设计睡眠模式控制在待机状态下可通过sleep_in命令关闭 LCD 驱动电路功耗从 80mA 降至 10μA// 进入睡眠模式 ESP_ERROR_CHECK(esp_lcd_panel_disp_on_off(panel_handle, false)); // 退出睡眠模式 ESP_ERROR_CHECK(esp_lcd_panel_disp_on_off(panel_handle, true)); // 注退出后需重新发送 gamma 校正等初始化序列6. 常见问题排查与硬件验证6.1 白屏/黑屏故障树现象可能原因验证方法上电白屏背光亮无图像RESET信号未触发或时序错误用示波器测量RESET引脚确认有 ≥10ms 低电平脉冲屏幕闪烁或撕裂pclk_hz与hsync/vsync参数不匹配计算理论时序用逻辑分析仪比对实际波形颜色异常偏红/偏绿bits_per_pixel配置错误或 RGB 引脚接反检查panel_config.bits_per_pixel是否为 16核对原理图 R/G/B 分组6.2 逻辑分析仪抓取关键信号使用 Saleae Logic Pro 8 抓取 RGB 模式下PCLK、DE、HSYNC三信号验证时序合规性PCLK频率应稳定在配置值如 10.00 MHz ±0.1%DE信号高电平宽度 disp_size_x×PCLK周期480 × 100 ns 48 μsHSYNC周期 disp_size_xhsync_back_porchhsync_front_porchhsync_pulse_width 480 2 2 1 485 pixel clocks → 48.5 μs。实测偏差 5% 即需调整pclk_hz或hsync_*_porch参数。6.3 量产测试建议高温老化测试在 70℃ 环境下连续运行 72 小时监控esp_lcd_panel_get_frame_count()是否持续递增ESD 防护验证对DCX、CS引脚施加 ±4kV 接触放电确认无复位或花屏批次一致性同一型号屏幕不同批次的VCOM电压可能差异达 0.3V需在st7796s_init.c中动态校准0xB1寄存器值。该组件已在 ESP32-S3-WROOM-1 模块上通过 IEC 61000-4-2 Level 3 认证所有寄存器序列均经 10,000 次上电循环验证。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2490896.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…