全志A133 Android10 lcd配置显示硬件参数说明
一,概述
全志平台,通过board.dts
来配置一些通用的 LCD 配置参数。
内核板级配置:
longan/device/config/chips/a133/configs/b6/board.dts
二,硬件参数说明
1. lcd接口参数说明
lcd_driver_name
Lcd 屏驱动的名字(字符串),必须与屏驱动的名字对应。
lcd_model_name
Lcd 屏模型名字,非必须,可以用于同个屏驱动中进一步区分不同屏。
lcd_if
设置相应值的对应含义为:
0:HV RGB接口
1:CPU/I80接口
2:Reserved
3:LVDS接口
4:DSI接口
lcd_hv_if
这个参数只有在 lcd_if=0 时才有效。定义 RGB 同步屏下的几种接口类型。
设置相应值的对应含义为:
0:Parallel RGB
8:Serial RGB
10:Dummy RGB
11:RGB Dummy
12:Serial YUV (CCIR656)
lcd_hv_clk_phase
这个参数只有在 lcd_if=0 时才有效。定义 RGB 同步屏的 clock 与 data 之间的相位关系。
总共有 4个相位可供调节。设置相应值的对应含义为:
0: 0 degree
1: 90 degree
2: 180 degree
3: 270 degree
lcd_hv_sync_polarity
这个参数只有在 lcd_if=0 时才有效。定义 RGB 同步屏的 hsync 和 vsync 的极性。
设置相应值的对应含义为:
0:vsync active low,hsync active low
1:vsync active high,hsync active low
2:vsync active low,hsync active high
3:vsync active high,hsync active high
lcd_hv_srgb_seq
这个参数只有在 lcd_if=0 且 lcd_hv_if=8(Serial RGB)时才有效。
定义奇数行 RGB 输出的顺序:
0: Odd lines R‑G‑B; Even line R‑G‑B
1: Odd lines B‑R‑G; Even line R‑G‑B
2: Odd lines G‑B‑R; Even line R‑G‑B
4: Odd lines R‑G‑B; Even line B‑R‑G
5: Odd lines B‑R‑G; Even line B‑R‑G
6: Odd lines G‑B‑R; Even line B‑R‑G
8: Odd lines R‑G‑B; Even line B‑R‑G
9: Odd lines B‑R‑G; Even line G‑B‑R
10: Odd lines G‑B‑R; Even line G‑B‑R
lcd_hv_syuv_seq
这个参数只有在 lcd_if=0 且 lcd_hv_if=12(Serial YUV)时才有效。
定义 YUV 输出格式:
0:YUYV
1:YVYU
2:UYVY
3:VYUY
lcd_hv_syuv_fdly
这个参数只有在 lcd_if=0 且 lcd_hv_if=12(Serial YUV)时才有效。
定义 CCIR656 编码时 F 相对有效行延迟的行数:
0:F toggle right after active video line
1:Delay 2 lines (CCIR PAL)
2:Delay 3 lines (CCIR NTSC)
lcd_cpu_if
这个参数只有在 lcd_if=1 时才有效, 具体时序可参照RGB 和 I8080 管脚配置示意图中 CPU 那几列。
设置相应值的对应含义为:
0:18bit/1cycle (RGB666)
2: 16bit/3cycle (RGB666)
4:16bit/2cycle (RGB666)
6:16bit/2cycle (RGB666)
8:16bit/1cycle (RGB565)
10:9bit/1cycle (RGB666)
12:8bit/3cycle (RGB666)
14:8bit/2cycle (RGB565)
lcd_cpu_te
设置相应值的对应含义为,设置为 0 时,刷屏间隔时间为 lcd_ht × lcd_vt;设置为 1 或 2 时,刷屏间隔时间为两个 te 脉冲:
0:frame trigged automatically
1:frame trigged by te rising edge
2:frame trigged by te falling edge
lcd_lvds_if
设置相应值的对应含义为:
0:Single Link( 1 clock pair+3/4 data pair)
1:Dual Link(8 data lane,每4条lane接受一半像素,奇数像素或者偶数像素)
2: Dual Link (每4条lane接受全部像素,常用于物理双屏,且两个屏一样)
lcd_lvds_if 等于 2 的场景是,接两个一模一样的屏,然后两个屏显示同样的内容,此时 lcd 的其它timing 只需要填写一个屏的 timing 即可。
lcd_lvds_colordepth
设置相应值对应含义为:
0:8bit per color(4 data pair)
1:6bit per color(3 data pair)
lcd_lvds_mode
这个参数只有在 lcd_lvds_bitwidth=0 时才有效
设置相应值对应含义为 :
0:NS mode
1:JEDIA mode
lcd_dsi_if
这个参数只有在 lcd_if=4 时才有效。定义 MIPI DSI 屏的两种类型。
设置相应值的对应含义为:
0:Video mode
1:Command mode
2:video burst mode
注:Video mode 的 LCD 屏,是实时刷屏的,有 ht,hbp 等时序参数的定义;Command mode 的屏,屏上带有显示 Buffer,一般会有一个 TE 引脚。
lcd_dsi_lane
这个参数只有在 lcd_if=4 时才有效。
设置相应值的对应含义为:
1:1 data lane
2:2 data lane
3:3 data lane
4:4 data lane
lcd_dsi_format
这个参数只有在 lcd_if=4 时才有效。
设置相应值的对应含义为:
0:Package Pixel Stream, 24bit RGB
1:Loosely Package Pixel Stream, 18bit RGB
2:Package Pixel Stream, 18bit RGB
3:Package Pixel Stream, 16bit RGB
lcd_dsi_te
这个参数只有在 lcd_if=4 时才有效。
设置相应值的对应含义为:
0:frame trigged automatically
1:frame trigged by te rising edge
2:frame trigged by te falling edge
注:设置为 0 时,刷屏间隔时间为 lcd_ht × lcd_vt;设置为 1 或 2 时,刷屏间隔时间为两个 te 脉冲。这个的作用就是屏一端发给 SoC 端的信号,用于同步信号,如果使能这个变量,那么 SoC 内部的显示中断将由这个外部脚来触发。
lcd_dsi_port_num
这个参数只有在 lcd_if=4 时才有效。
设置相应值的对应含义为:
0:一个port
1:两个port
lcd_tcon_mode
Tcon 模式,这个参数只有在 lcd_if=4 时才有效。
设置相应值的对应含义为:
0:normal mode
1:tcon master mode(在第一次发送数据同步)
2::tcon master mode(每一帧都同步)
3:tcon slave mode(依靠master mode来启动)
4:one tcon driver two dsi(8条lane)
lcd_slave_tcon_num
Slave Tcon 的序号,这个参数只有在 lcd_if=4 时而且 lcd_tcon_mode 等于 1 或者 2 才有效。用于告诉 master 模式下的 tcon,从 tcon 的序号是多少。
设置相应值的对应含义为:
0:tcon_lcd0
1:tcon_lcd1
lcd_tcon_en_odd_even_div
这个参数只有在 lcd_if=4 而且 lcd_tcon_mode=4 时才有效。
设置相应值的对应含义为:
0:tcon将一帧图像分左右两半来发送给两个DSI模块
1:tcon将一帧图像分奇偶像素来发给两个DSI模块
lcd_sync_pixel_num
这个参数只有在 lcd_if=4 而且 lcd_tcon_mode 等于 2 或者 3 时才有效。
设置同步从 tcon 的起始 pixel
整数:不超过lcd_ht
lcd_sync_line_num
这个参数只有在 lcd_if=4 而且 lcd_tcon_mode 等于 2 或者 3 时才有效。
设置同步从 tcon 的起始行
整数:不超过lcd_vt
lcd_cpu_mode
Lcd CPU 模式,控制
设置相应值的对应含义为,设置为 0 时,刷屏间隔时间为 lcd_ht × lcd_vt;
设置为 1 或 2 时,刷屏间隔时间为两个 te 脉冲:
0:中断自动根据时序,由场消隐信号内部触发
1:中断根据数据Block的counter触发或者由外部te触发。
lcd_fsync_en
LCD 使能 fsync 功能,用于触发 sensor 出图, 目的是同步,部分 IC 支持。
0:disable
1:enable
lcd_fsync_act_time
LCD 的 fsync 功能,其中的有效电平时间长度,单位:像素时钟的个数。
0~lcd_ht‑1
lcd_fsync_dis_time
LCD 的 fsync 功能,其中的无效电平时间长度,单位:像素时钟的个数。
0~lcd_ht‑1
lcd_fsync_pol
LCD 的 fsync 功能的有效电平的极性。
0:有效电平为低
1:有效电平为高
lcd_start_delay
出现 LCD 显示前几行有闪条,或者 colorbar 1 ~ 7 可以显示,colorbar 8 显示不了的问题,可以调试一下这个参数试试。
整数:调试范围可以先从0 ~ 10调试,不可以再往上增加
2. 屏时序参数说明
时序参数对于调屏非常关键,决定了发送端(SoC)发送数据时序。由于涉及到发送端和接收端的调试,除了分辨率和尺寸之外,其它几个数值都不是绝对不变的,两款一样分辨率,同种接口的屏,它们的数值也有可能不一样。
获取途径如下:
- 询问 LCD 屏厂;
- 从屏手册或者 Driver IC 手册中查找(向屏厂索要这些文档);
lcd_ht = x + hspw + hbp + hfp
lcd_vt = y + vspw + vbp + vfp
lcd_x
显示屏的水平像素数量,也就是屏分辨率中的宽。
lcd_y
显示屏的垂直行数,也就是屏分辨率中的高。
lcd_ht
Horizontal Total time
指一行总的 dclk 的 cycle 个数。
lcd_hbp
Horizontal Back Porch
指有效行间,行同步信号(hsync)开始,到有效数据开始之间的 dclk 的 cycle 个数,包括同步信号区。注意的是包含了 hspw 段。
lcd_hbp= 实际的 hbp+ 实际的 hspw
lcd_hspw
Horizontal Sync Pulse Width
指行同步信号的宽度。单位为 1 个 dclk 的时间(即是 1 个 data cycle 的时间)。
lcd_vt
Vertical Total time 指一场的总行数。
lcd_vt 为偶数则传输是逐行扫描,为奇数则传输是隔行扫描;扫描模式配置错误会导致花屏。
lcd_vbp
Vertical Back Porch
指场同步信号(vsync)开始,到有效数据行开始之间的行数,包括场同步信号区。包含了 vspw 段,也就是
lcd_vbp= 实际的 vbp+ 实际的 vspw
lcd_vspw
Vertical Sync Pulse Width
指场同步信号的宽度。
lcd_dclk_freq
Dot Clock Frequency
传输像素传送频率(单位为 MHz)
fps = (lcd_dclk_freq×1000×1000) / (ht×vt)
这个值根据以下公式计算:
lcd_dclk_freq=lcd_ht*lcd_vt*fps
注意:
- 后面的三个参数都是从屏手册中获得,fps 一般是 60。
- 如果是串行接口,发完一个像素需要 2 到 3 个周期的,那么
lcd_dclk_freq * cycles = lcd_ht*lcd_vt*fps
或者
lcd_dclk_freq = lcd_ht*cycles*lcd_vt*fps
lcd_width
Width of lcd panel in mm
此参数描述 lcd 屏幕的物理宽度,单位是 mm。用于计算 dpi。
lcd_height
height of lcd panel in mm
此参数描述 lcd 屏幕的物理高度,单位是 mm。用于计算 dpi。
lcd_start_delay
此参数用于每一帧 de 向 tcon 送数据前的延时,该值配置不合理会导致前几行出现闪屏。
3. 背光相关参数
目前用得比较广泛的就是 pwm 背光调节,原理是利用 pwm 脉冲开关产生的高频率闪烁效应,通过调节占空比,达到欺骗人眼,调节亮暗的目的。
lcd_pwm_used
是否使用 pwm
此参数标识用以背光亮度的控制。
lcd_pwm_ch
此参数标识使用的 Pwm 通道,这里是指使用 SoC 哪个 pwm 通道,通过查看原理图连接可知。
lcd_pwm_freq
这个参数配置 PWM 信号的频率,单位为 Hz。
说明:频率不宜过低否则很容易就会看到闪烁,频率不宜过快否则背光调节效果差。部分屏手册会标明所允许的 pwm 频率范围,请遵循屏手册固定范围进行设置。在低亮度的时候容易看到闪烁,是正常现象,目前已知用上 pwm 的背光都是如此。
lcd_pwm_pol
这个参数配置 PWM 信号的占空比的极性。设置相应值对应含义为:
0:active high
1:active low
lcd_pwm_max_limit
Lcd backlight PWM 最高限制,以亮度值表示。
比如 150,则表示背光最高只能调到 150,0‑255 范围内的亮度值将会被线性映射到 0‑150 范围内。用于控制最高背光亮度,节省功耗。
lcd_bl_en
背光使能脚,非必须,看原理图是否有,用于使能或者禁止背光电路的电压。
示例:lcd_bl_en = port:PD24<1><2><1>
含义:PD24 输出高电平时打开 LCD 背光;下拉,默认高电平
• 第一个尖括号:功能分配。1 为输出。
• 第二个尖括号:内置电阻。使用 0 的话,标示内部电阻高阻态,如果是 1 则是内部电阻上拉,2就代表内部电阻下拉。使用 default 的话代表默认状态,即电阻上拉。其它数据无效。
• 第三个尖括号:驱动能力。default 表驱动能力是等级 1。
• 第四个尖括号:电平。0 为低电平,1 为高电平。
一般来说,高电平是使能,在这个前提下,建议将内阻电阻设置成下拉,防止硬件原因造成的上拉,导致背光提前亮。默认电平填写高电平,这是 uboot 显示过度到内核显示、平滑无闪烁的需要。
lcd_bl_n_percent
背光映射值,n 为 (0‑100)。
此功能是针对亮度非线性的 LCD 屏的,按照配置的亮度曲线方式来调整亮度变化,以使亮度变化更线性。
比如 lcd_bl_50_percent = 60,表明将 50% 的亮度值调整成 60%,即亮度比原来提高 10%。
说明:修改此属性不当可能导致背光调节效果差。
lcd_backlight
背光默认值,0‑255。
此属性决定在 uboot 显示 logo 阶段的亮度,进入都内核时则是读取保存的配置来决定亮度。
说明:显示 logo 阶段,一般来说需要比较亮的亮度,业内做法都是如此。
三,调试
1. 查看显示信息
cat /sys/class/disp/disp/attr/sysscreen 0:
de_rate 297000000 hz, ref_fps:60
mgr0: 1280x800 fmt[rgb] cs[0x204] range[full] eotf[0x4] bits[8bits] err[0] force_sync[0] unblank direct_show[false]
lcd output backlight( 50) fps:60.9 1280x 800
err:0 skip:31 irq:1942 vsync:0 vsync_skip:0
BUF enable ch[1] lyr[0] z[0] prem[N] a[globl 255] fmt[ 8] fb[1280, 800;1280, 800;1280, 800] crop[ 0, 0,1280, 800]
frame[ 0, 0,1280, 800] addr[ 0, 0, 0] flags[0x 0] trd[0,0]
lcd output
表示当前显示接口是 LCD 输出。
1280x800
表示当前 LCD 的分辨率,与 board.dts 中 lcd0 的设置一样。
ref_fps:60
是根据你在 board.dts 的 lcd0 填的时序算出来的理论值。
fps:60.9
后面的数值是实时统计的,正常来说应该是在 60(期望的 fps) 附近,如果差太多则不正常,重新检查屏时序,和在屏驱动的初始化序列是否有被调用到。
irq:1942
这是 vsync 中断的次数,每加 1 都代表刷新了一帧,正常来说是一秒 60(期望的 fps)次,重复cat sys,如果无变化,则异常。
BUF
开头的表示图层信息,一行 BUF 表示一个图层,如果一个 BUF 都没有出现,那么将是黑屏,不过和屏驱动本身关系就不大了,应该查看应用层 & 框架层。
err:0
这个表示缺数,如果数字很大且一直变化,屏幕会花甚至全黑,全红等。
skip:31
这个表示跳帧的数量,如果这个数值很大且一直变化,有可能卡顿,如果数字与 irq 后面的数字一样,说明每一帧都跳,会黑屏(有背光)。
2.查看 pwm 信息
Pwm 的用处是提供背光电源。
cat /sys/kernel/debug/pwmplatform/7020c00.s_pwm, 1 PWM device
pwm‑0 ((null) ): period: 0 ns duty: 0 ns polarity: normal
platform/300a000.pwm, 2 PWM devices
pwm‑0 (lcd ): requested enabled period: 20000 ns duty: 3984 ns polarity: normal
pwm‑1 ((null) ): period: 0 ns duty: 0 ns polarity: normal
“requested enabled” 表示请求并且使能了,括号里面的 lcd 表示是由 lcd 申请的。
3. 查看时钟信息
cat /sys/kernel/debug/clk/clk_summary
这个命令可以看哪个时钟是否使能,然后频率是多少。与显示相关的是 tcon,pll_video,mipi等。
cat /sys/kernel/debug/clk/clk_summary | grep tcon
cat /sys/kernel/debug/clk/clk_summary | grep pll_video
cat /sys/kernel/debug/clk/clk_summary | grep mipi
相关文章:
全志A133 Android10 lcd配置显示硬件参数说明
一,概述 全志平台,通过board.dts来配置一些通用的 LCD 配置参数。 内核板级配置: longan/device/config/chips/a133/configs/b6/board.dts二,硬件参数说明 1. lcd接口参数说明 lcd_driver_name Lcd 屏驱动的名字(字…...

景源畅信:小白做抖音运营难吗?
在数字化时代,社交媒体已成为人们生活的一部分,而抖音作为其中的翘楚,吸引了众多希望通过平台实现自我价值和商业目标的用户。对于刚入门的小白来说,运营抖音账号可能会遇到不少挑战。接下来,我们将详细探讨这一话题&a…...
初探 Spring Boot Starter Security:构建更安全的Spring Boot应用
引言 Spring Boot 作为 Java 生态系统下的热门框架,以其简洁和易上手著称。而在构建 Web 应用程序时,安全性始终是开发者必须重视的一个方面。Spring Boot Starter Security 为开发者提供了一个简单但功能强大的安全框架,使得实现身份验证和…...
【无标题】思科交换路由中路由引入实验指南
路由引入是网络设计中的一个重要概念,它允许不同路由协议之间的路由信息交换。在思科网络设备中,路由引入可以增强网络的连通性和效率。本文将介绍路由引入的基本概念,并通过一个实验来演示如何在思科路由器中实现路由引入。 ## 路由引入的基…...

基于yolov2深度学习网络的昆虫检测算法matlab仿真,并输出昆虫数量和大小判决
目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022A 3.部分核心程序 .......................................................... for i 1:12 % 遍历结…...

Java进阶学习笔记2——static
static: 叫静态,可以修饰成员变量、成员方法。 成员变量按照有无static修饰,分为两种: 类变量:有static修饰,属于类,在计算机中只有一份,会被类的全部对象共享。静态成员变量。 实…...

spring boot集成Knife4j
文章目录 一、Knife4j是什么?二、使用步骤1.引入依赖2.新增相关的配置类3.添加配置信息4.新建测试类5. 启动项目 三、其他版本集成时常见异常1. Failed to start bean ‘documentationPluginsBootstrapper2.访问地址后报404 一、Knife4j是什么? 前言&…...

redis核心面试题一(架构原理+RDB+AOF)
文章目录 0. redis与mysql区别1. redis是单线程架构还是多线程架构2. redis单线程为什么这么快3. redis过期key删除策略4. redis主从复制架构原理5. redis哨兵模式架构原理6. redis高可用集群架构原理7. redis持久化之RDB8. redis持久化之AOF9. redis持久化之混合持久化 0. red…...

STM32F1之SPI通信·软件SPI代码编写
目录 1. 简介 2. 硬件电路 移位示意图 3. SPI时序基本单元 3.1 起始条件 3.2 终止条件 3.3 交换一个字节(模式0) 3.4 交换一个字节(模式1) 3.5 交换一个字节(模式2) 3.6 交换一个字节&a…...

实战:生成个性化词云的Python实践【7个案例】
文本挖掘与可视化:生成个性化词云的Python实践【7个案例】 词云(Word Cloud),又称为文字云或标签云,是一种用于文本数据可视化的技术,通过不同大小、颜色和字体展示文本中单词的出现频率或重要性。在词云中…...
云存储与云计算详解
1. 云存储与云计算概述 1.1 云存储 云存储(Cloud Storage)是指通过互联网将数据存储在远程服务器上,用户可以随时随地访问和管理这些数据。云存储的优点包括高可扩展性、灵活性和成本效益。 1.2 云计算 云计算(Cloud Computin…...

【飞舞的花瓣】飞舞的花瓣代码||樱花代码||表白代码(完整代码)
关注微信公众号「ClassmateJie」有完整代码以及更多惊喜等待你的发现。 简介/效果展示 这段代码是一个HTML页面,其中包含一个canvas元素和相关的JavaScript代码。这个页面创建了一个飘落花瓣的动画效果。 代码【获取完整代码关注微信公众号「ClassmateJie」回复“…...

网络安全的重要组成部分:数据库审计
数据库审计(简称DBAudit)以安全事件为中心,以全面审计和精确审计为基础,实时记录网络上的数据库活动,对数据库操作进行细粒度审计的合规性管理,对数据库遭受到的风险行为进行实时告警。它通过对用户访问数据…...
gc和gccgo编译器
Go 语言有两个主要的编译器,分别是 Go 编译器(通常简称为 gc)和 GCCGO。它们之间有一些重要的异同点: gc 编译器: gc 是 Go 语言的官方编译器,由 Go 语言的开发团队维护。它是 Go 语言最常用的编译器&#…...
开放重定向漏洞
开放重定向漏洞 1.开放重定向漏洞概述2.攻击场景:开放重定向上传 svg 文件3.常见的注入参数 1.开放重定向漏洞概述 开放重定向漏洞(Open Redirect)是指Web应用程序接受用户提供的输入(通常是URL参数),并将…...

基于YoloV4汽车多目标跟踪计数
欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景与意义 随着城市交通的快速发展,交通流量和车辆密度的不断增加,对交通管理和控…...

交叉编译程序,提示 incomplete type “struct sigaction“ is not allowed
问题描述 incomplete type "struct sigaction" is not allowed解决办法 在代码的最顶端添加如下代码即可 #define _XOPEN_SOURCE此定义不是简单的宏定义,是使程序符合系统环境的不可缺少的部分 _XOPEN_SOURCE为了实现XPG:The X/Open Porta…...

叶面积指数(LAI)数据、NPP数据、GPP数据、植被覆盖度数据获取
引言 多种卫星遥感数据反演叶面积指数(LAI)产品是地理遥感生态网推出的生态环境类数据产品之一。产品包括2000-2009年逐8天数据,值域是-100-689之间,数据类型为32bit整型。该产品经过遥感数据获取、计算归一化植被指数、解译植被类…...

光环P3O不错的一个讲座
光环P3O不错的一个讲座,地址:https://apphfuydjku5721.h5.xiaoeknow.com/v2/course/alive/l_663dc840e4b0694c62c32d1d?app_idapphfuydJkU5721&share_fromu_5c987304d8515_wH2E5HgCgx&share_type5&share_user_idu_5c987304d8515_wH2E5HgCgx…...
Typescnipt 学习笔记
TypeScript 学习笔记 一、什么是 TypeScript TypeScript 是一种由微软开发的开源编程语言,它是 JavaScript 的一个超集。它添加了静态类型和面向对象的特性,并提供了更强大的工具和功能,以增强 JavaScript 的开发体验。 二、为什么要学习 …...

从数据报表到决策大脑:AI重构电商决策链条
在传统电商运营中,决策链条往往止步于“数据报表层”:BI工具整合历史数据,生成滞后一周甚至更久的销售分析,运营团队凭经验预判需求。当爆款突然断货、促销库存积压时,企业才惊觉标准化BI的决策时差正成为增长瓶颈。 一…...

Xcode 16.2 版本 pod init 报错
Xcode 版本升级到 16.2 后,项目执行 pod init 报错; ### Error RuntimeError - PBXGroup attempted to initialize an object with unknown ISA PBXFileSystemSynchronizedRootGroup from attributes: {"isa">"PBXFileSystemSynchron…...

[学习笔记]使用git rebase做分支差异化同步
在一个.NET 项目中,使用了Volo.Abp库,但出于某种原因,需要源码调试,因此,使用源码方式集成的项目做了一个分支archive-abp-source 其中引用方式变更操作的提交为:7de53907 后续,在master分支中…...
js 比较两个对象的值,不相等就push对象的key
在JavaScript中,比较两个对象(object)的值并找出不相等的key,可以通过多种方法实现。下面是一些常用的方法: 方法1:使用JSON.stringify 这种方法适用于简单的对象,其中对象的值是基本类型或可…...
Java线程池核心原理与最佳实践
Java 线程池详解 线程池是Java并发编程的核心组件,它能高效管理线程生命周期,避免频繁创建销毁线程的开销,提升系统性能和资源利用率。 一、线程池核心优势 降低资源消耗:复用已创建的线程,减少线程创建销毁开销提高…...

Spring AOP执行原理源码解析
对【com.example.demo.TestAspect#aopTest】连接点增加了五个通知 在调用【com.example.demo.A#testAop()】(用户自定义)方法时,Cglib拦截器对其进行了拦截 可以看到执行顺序分别是环绕前置,前置,环绕后置,…...

AI+预测3D新模型百十个定位预测+胆码预测+去和尾2025年6月8日第102弹
从今天开始,咱们还是暂时基于旧的模型进行预测,好了,废话不多说,按照老办法,重点8-9码定位,配合三胆下1或下2,杀1-2个和尾,再杀4-5个和值,可以做到100-300注左右。 (1)定…...

【ArcGIS Pro微课1000例】0072:如何自动保存编辑内容及保存工程?
文章目录 一、自动保存编辑内容二、自动保存工程在使用ArcGIS或者ArcGIS Pro时,经常会遇到以下报错,无论点击【发送报告】,还是【不发送】,软件都会强制退出,这时如果对所操作没有保存,就会前功尽弃。 此时,自动保存工作就显得尤为重要,接下来讲解两种常见的自动保存方…...

Xilinx IP 解析之 Block Memory Generator v8.4 ——02-如何配置 IP(仅 Native 接口)
相关文章: Xilinx IP 解析之 Block Memory Generator v8.4 ——01-手册重点解读(仅Native RAM) – 徐晓康的博客 Xilinx IP 解析之 Block Memory Generator v8.4 ——02-如何配置 IP(仅 Native RAM) – 徐晓康的博客 V…...

基于定制开发开源AI智能名片S2B2C商城小程序的首屏组件优化策略研究
摘要:在数字化转型背景下,用户对首屏交互效率的诉求日益提升。本文以"定制开发开源AI智能名片S2B2C商城小程序"为技术载体,结合用户行为数据与认知心理学原理,提出首屏组件动态布局模型。通过分析搜索栏、扫码入口、个人…...