LIN协议总结
目录
- 一、LIN是什么
- 1、LIN的概念
- 2、扩展介绍一下同步通信和异步通信的区别
- 3、LIN连接结构及节点构成
- 二、LIN的特点
- 三、LIN协议层
- 1、帧的结构
- 2、帧的类型
- 3、进度表
- 4、状态机实现
- 5、网络管理
- 6、状态管理
- 四、帧收发的硬件实现
- 1、组成
- 2、硬件特点
- 3、协议控制器
- 4、总线收发器
- 5、LIN总线
- 6、时钟源
- 7、EMI及其控制
- 8、线与特性
- 9、ESD(静电)危害防护
- 10、补充
- 五、信号处理、配置、识别、诊断
- 1、介绍
- 2、传输层
- 3、PDU结构
- 4、PDU 格式
- 5、传输层通信
- 6、LIN 应用层
- 7、信号处理功能
- 8、配置功能
- 9、识别功能
- 10、诊断功能
- 六、LIN的API
- 1、API的定义
- 2、兼容性
- 七、工作流
一、LIN是什么
1、LIN的概念
LIN是 Local Interconnect Network 的缩写,是基于 UART/SCI(Universal Asynchronous Receiver-Transmitter / Serial Communication Interface,通用异步收发器/串行通信接口)的低成本串行通信协议。(串行通信技术,是指通信双方按位进行,遵守时序的一种通信方式。 串行通信中,将数据按位依次传输, 每位数据占据固定的时间长度,即可使用少数几条通信线路 就可以完成系统间交换信息。还规定 LIN总线长度不超过 40 米。
2、扩展介绍一下同步通信和异步通信的区别
1.同步通信要求接收端时钟频率和发送端时钟频率一致,发送端发送连续的比特流;异步通信时不要求接收端时钟和发送端时钟同步,发送端发送完一个字节后,可经过任意长的时间间隔再发送下一个字节。
2.同步通信效率高;异步通信效率较低。
3.同步通信较复杂,双方时钟的允许误差较小;异步通信简单,双方时钟可允许一定误差。
4.同步通信可用于点对多点;异步通信只适用于点对点。)
3、LIN连接结构及节点构成
LIN 的拓扑结构为单线总线,应用了单一主机多从机的概念。总线电平为 12V,传输位速率(Bitrate)最高为
20kbps。一个 LIN 网络最多可以接 16 个节点,主机节点有且只有一个,从机节点有 1 到 15 个。



二、LIN的特点
1、网络由一个主机节点和多个从机节点构成。
2、使用 LIN 可以大幅度的削减成本,表现在以下方面:
● 开放型规范:规范可以免费从官方网站获得。
● 硬件成本削减:基于普通 UART/SCI 接口的低成本硬件实现,无需单独的硬件模块支持;从机节点无需
高精度时钟就可以完成自同步;总线为一根单线电缆。
● 装配成本削减:LIN 采用了工作流(Work Flow)和现成节点(Off-the-shelf Node)的概念,将网络装配标准
化,并可通过 LIN 传输层进行再配置。
● 缩短软件开发周期:LIN 协议将 API(Application Programming Interface,应用编程接口)标准化。
3、 信号传输具有确定性,传播时间可以提前计算出
4、LIN 具有可预测的 EMC(ElectroMagnetic Compatibility,电磁兼容性)性能。为了限制
EMI(ElectroMagnetic Interference,电磁干扰)强度,LIN 协议规定最大位速率为 20kbps。
5、LIN 提供信号处理、配置、识别和诊断四项功能。
三、LIN协议层
1、帧的结构
①帧(Frame)包含帧头(Header)和应答(Response
)两部分。主机任务负责发送帧头;从机任务接收帧头并对帧头所包含信息进行解析,然后决定是发送应答,还是接收应答,还是不作任何反应。
②帧头包括同步间隔段、同步段以及PID(Protected Identifier,受保护ID)段**,应答包括数据段和校验和段**。

③值“0”为显性电平(Dominant),值“1”为隐性电平(Recessive),当总线上有大于等于一个节点发送显性电平时,总线呈显性电平。显性电平起主导作用。帧中的所有间隔或总线空闲时都应保持隐性电平。
④同步间隔段:由同步间隔和同步间隔段间隔符构成,同步间隔是至少持续 13 位的显性电平,同步间隔段的间隔符是至少持续 1 位的隐性电平。
⑤从机任务接收帧头的同步间隔段时,以该从机任务所在节点的位速率为准,当检测总线上出现持续 11 位的显性电平时,认为是帧的开始。

⑥受保护 ID 段:的前 6 位叫作帧 ID(Frame ID),加上两个奇偶校验位后称作受保护 ID。帧 ID 标识了帧的类别和目的地:
帧 ID 的范围在 0x00~0x3F 之间,共 64 个。帧 ID 标识了帧的类别和目的地。从机任务对于帧头作出的反
应(接收/发送/忽略应答部分)都是依据帧 ID 判断的。校验公式如下:P0 = ID0 ⊕ ID1 ⊕ ID2 ⊕ ID4
P1 = ¬ (ID1 ⊕ ID3 ⊕ ID4 ⊕ ID5)

⑦节点发送的数据位于数据段,包含 1 到 8 个字节:

⑧校验和段:是对帧中所传输的内容进行校验。

⑨帧在总线上传输时间

2、帧的类型
如图:

无条件帧(无条件帧是具有单一发布节点,无论信号是否发生变化,帧头都被无条件应答的帧)。
事件触发帧(是主机节点在一个帧时隙中查询各从机节点的信号是否发生变化时使用的帧,当存在多个发布节点时,通过冲突解决进度表来解决冲突)。
偶发帧(偶是主机节点在同一帧时隙中当自身信号发生变化时向总线启动发送的帧。当存在多个关
联的应答信号变化时,通过事先设定的优先级来仲裁。)。
诊断帧(诊断帧包括主机请求帧和从机应答帧,主要用于配置、识别和诊断用)。
保留帧(保留帧的帧 ID 为 0x3E 和 0x3F,为将来扩展用。)。
3、进度表
进度表是帧的调度表,规定总线上帧的传输次序以及各帧在总线上的传输时间。还规定了帧时隙的大小。
一般情况下,轮到某个进度表执行的时候,从该进度表规定的入口处开始顺序执行,到进度表的最后一个帧时,如果没有新的进度表启动,则返回到当前的进度表第 一个帧循环执行。(LIN总线最小时间单位是时基(Tbase))。调度表中用来发送一帧报文的时间称为帧时隙(Frame_Slot),帧时隙必须是时基(5ms)的整数倍,调度表是由帧时隙组成的。
4、状态机实现
①主任务状态机:

②从任务状态机:
从机任务负责发布或者接听帧的应答。包括两个状态机:
- 同步间隔段和同步段检查器
- 帧处理器
5、网络管理

6、状态管理
状态管理是为了检测运行中的错误。错误一旦被发现,根据设计需要采取不同的措施进行排除,一种方法是简单替换掉错误节点,另一种方法是让发生问题的节点进入到自我保护/安全模式。
四、帧收发的硬件实现
1、组成
收发 LIN 帧需要的硬件包括协议控制器(Protocol Controller)、总线收发器(Bus Transceiver)和 LIN 总线三部分:

2、硬件特点
● 从机节点无需高精度时钟源 ● EMI(电磁干扰) 低而且可控 ● 最高通硬件特点:通信速率 20kbps 。
3、协议控制器
协议控制器的主体是一个基于 UART/SCI 的通信控制器,工作方式半双工,可以用“UART/SCI+定时器”实现,也可以使用专用模块实现。特点:协议控制器把二进制并行数据转变成高-低电平信号,并按照规定的串行格式(8 数据位,1 停止位,无校验位)送往总线收发器;接收时,协议控制器把来自总线收发器的高-低电平信号按照同样的串行格式储存下来,然后再将储存结果转换成二进制并行数据。
协议控制器要能执行本地唤醒(Local Wakeup)。需要唤醒总线时,协议控制器通过总线收发器向 LIN 总线送出唤醒信号。协议控制器要能识别总线唤醒(Bus Wakeup)。
实现方案(3类:UART/SCI+定时器+外部中断、硬件 LIN(Hardware LIN)和 LIN 模块(LIN Module),分别面向对成本和性能有不同侧重的应用)。
4、总线收发器
总线收发器的主体是一个双向工作的电平转换器,完成协议控制器的高-低电平与 LIN 总线的隐性-显性电 平之间的转换。LIN 规范要求总线收发器具备这样一种特性:本地节点掉电或工作异常时,不能影响总线上其他节 点工作。协议控制器可以控制 LIN 总线位速率,总线收发器可以控制压摆率。
5、LIN总线
LIN 总线是衔接所有 LIN 节点的通信介质。(如果采用 LIN 规范,仅用 3 根线(电源、地和 LIN)就可以实现标准化的数字接口。传感器、执行器通过 总线连接,汽车结构设计可以更加灵活)
时钟源:LIN 网络的主机节点必须设置较高精度的时钟,而从机节点则不必。换句话说,主机节点是 LIN 网络的时间基准,这保证了位速率的准确性。
6、时钟源
LIN 网络的主机节点必须设置较高精度的时钟,而从机节点则不必。换句话说,主机节点是 LIN 网络的时间基准,这保证了位速率的准确性。
7、EMI及其控制
对于 LIN 而言,EMI 主要由位速率和压摆率共同决定。位速率决定单位时间内电平变化次数,压摆率决定电平跳变的快慢。
设计电路注意事项:片上振荡器容易受到环境温度和电源电压的影响,石英晶体容易受到冲击振动的破坏。在选择时钟源时, 一定要考虑使用环境的温度范围、电源电压范围和冲击振动情况。
8、线与特性
‘’线与‘’一词常在单片机二进制罗辑电路中出现,在单片机内部CPU要通过总线,地址对各单元以及单片机外单元进行管理,这时就需要用到罗辑电路,在某单元如有两根地址线,当这个单元被CPU选中,那么这两根线就是‘’线与‘’关系,两根线缺一不可,否则无法完成信息传递。
9、ESD(静电)危害防护
LIN 规范要求总线收发器的电源和地应直接连接到 ECU 的接口处。
10、补充
①时基(Time Base)为LIN子网的最小计时单位,通常设定为 5ms或 10ms
②网络层传输的包(packet,又称分组),在数据链路层中传输的是“帧”(frame)。数据包到达数据链路层后加上数据链路层的协议头和协议尾就构成了一个数据帧。在每个帧的前部加上一个帧头部,在帧的结尾处加上一个帧尾部,把网络层的数据包作为帧的数据部分,就构成了一个完整帧。
③当数据数据链路层传输的时候叫做“帧”,当一个帧被接受并提交到第二次处理:剥开帧头帧尾,获得数据包(对于第二层来说它只认识帧头和帧尾,其他包括包头等都是帧承载的普通数据);然后这个包被提交到第三层:它能识别包头,得到被包在里面的信息(信息包含第四层TCP数据报头,对于第三层来说也是报头也是它承载的普通数据),第三层结束以后把去掉报头的数据给第四层,这些数据就是报文。
五、信号处理、配置、识别、诊断
1、介绍
信号处理、配置、识别和诊断,这四项功能共同构成了 LIN 的 应用层,传输层是配置、识别和诊断这三项功能的通信载体,实现应用层消息与帧之间的格式转换和传输,LIN 为应用层和传输层定义了 API 接口。
2、传输层
充当一个“翻译官”,把来自诊断服务的消息(Message)“翻译”成协议层可以处理的PDU (Packet Data Unit,分组数据单元),或者反过来,把协议层收到的 PDU“翻译”成诊断服务需要的消息。
3、PDU结构
从发送格式上,**PDU 单元可分为**单帧(Single Frame,SF)、首帧(First Frame,FF)和续帧(Consecutive Frames, CF)三种。从发送源上,主机发送请求 PDU,从机发送应答 PDU。
4、PDU 格式
包括节点地址(NAD),协议控制信息(PCI),LEN,服务 ID(SID),应答服务 ID(RSID),消息字节段(D1~D6)。首字节 NAD 首先发送,末字节 D4,D5,D6 最后发送。下图:

①PDU 单元的第一个字节是 NAD(node address),用于区分不同从机节点的地址。
②PDU 单元的第二个字节是 PCI(Protocol Control Information)信息,包含了 PDU 单元类型和消息字节长度的信息:

③SID(Service Identifier)表示了从机节点应完成的服务请求。节点配置服务的 SID 区间为 0xB0~0xB7,诊断 服务的 SID 区间为 0x000xAF,0xB80xFE。
④RSID(Response Service Identifier)表示从机节点应答的内容,它的值是 SID+0x40。
消息字节段的内容取决于服务的种类中,所有 PDU 的 消息字段,经过“重组”组成一个完成的消息。
5、传输层通信
应用层发出的消息如果长度不超过单帧的容量,传输层会按单帧的格式交给协议层发送。传输层收到的单帧也会直接作为消息送往应用层;如果消息长度超过单帧的容量,传输层先要把消息拆分成首帧和续帧并排好次序,然后再交给协议层依次发送。反过来,协议层收到的首帧和续帧,传输层先要按照接收次序将其重组为 消息,最后交给应用层处理。LIN 传输层只能按顺序接收续帧。 LIN 传输层具备出错重传功能。 传输层由传输层 API 完成。
6、LIN 应用层
LIN 应用层提供信号处理、配置、识别和诊断四项功能。

7、信号处理功能
信号处理功能是指应用层可以不经过传输层,直接从协议层获取或修改网络中的信号。这些信号由 NCF(Node Capability File,节点性能文件)定义。
8、配置功能
配置功能是指 LIN 的主机节点能自动地给所有逻辑节点选择配置项,消除 NAD 和 PID 分配中存在的冲突, 使网络正常工作。
9、识别功能
指主机节点能够获取逻辑节点的信息,例如产品代号等。借助识别功能,主机节点和逻辑节点还可以实现一些自定义的操作。
10、诊断功能
是指 LIN 网络之外的诊断设备可以直接连接 LIN 的主机节点,或者通过外部的其它网络与 LIN 的逻辑节点通讯。诊断功能的可裁减性体现在两方面:实现方式以及支持的服务种类,这些都是直接影响着节点计算负荷的因素。
六、LIN的API
1、API的定义
API 是一组“规约”,用来定义软件模块的使用方法。API 既可以是数据结构,也可以是若干个函数,还可 以是它们的混合。 软件开发者可以把 API 看作是与软件模块的会话方式。应用程序和程序员既可以使用该模块的功能,又无 需访问其源代码,或者理解其内部工作机制的细节。
可以把 LIN 的 API 分为 3 类——核心 API、传输层 API 和配置与识别 API。三类 API 相对独立, 彼此关联。

其中各API特点各自如下:
**①核心API:**核心 API 是 API 的基础,除了完成协议层的帧收发,LIN 应用层各项功能都要用到核心 API。核心 API 包含多个函数,其中,l_sch_tick()(时基节拍管理)和 l_sch_set()(进度表管理)是与进度表相关的两个函数。其他的函数负责控制各种硬件协调工作,完成初始化、中断响应、比特流收发、字节缓冲、休眠、唤 醒以及物理层的差错报告等功能。
②传输层API(Raw API 和 Cooked API,二者功能一致):传输层 API 是为配置、识别和诊断这三项服务设置的,是应用层与协议层的接口。传输层 API 的功能包括: 建立并管理 PDU 队列、收发 PDU 以及检查 PDU 的通信状态。传输层 API 接收应用层消息,调用核心 API 发 送主机请求帧;收到从机应答帧时,传输层剥离协议层的帧头信息获得 PDU,送往应用层处理。如果节点需要监视通信细节,那么应该用 Raw API, 它允许节点以 PDU 为单位处理信息。如果节点只需要转发消息而不需要关心消息内容,那么适合使用 Cooked API,它允许节点以消息为单位处理信息。
③配置与识别API:用于支持应用层的配置功能和识别功能。
2、兼容性
API 的兼容性体现在两个方面,一是不同版本 API 之间的兼容性,二是 API 对帧收发硬件的兼容性。

七、工作流
主要体现在节点性能文件:

其中节点性能文件(NCF)定义了节点名称和节点的属性值,包括产品代号、位速率、帧的定义等信息。LIN 子网设计工具收集到节点性能文件的信息,自动生成 LIN 描述文件(LDF)。LDF 包含了整个子网的信息,包括所有的信号和帧的声明,以及进度表等信息。LDF 文件还可以作为调试时总线分析仪和仿真器的输入。LIN子网生成工具根据 LDF生成各种通信驱动,可以建立起通信子网,也可以将具备节点性能文件的现成节点加入到已经建立好的通信子网中,并在网络进入运行前排除掉可能产生的冲突。
当一个主机 ECU 与多个 LIN 通信子网相连时,会包含多个 LDF 文件,为了避免命名冲突,规定 LDF 文件中的所有对象必须使用通道后缀名称。
相关文章:
LIN协议总结
目录 一、LIN是什么1、LIN的概念2、扩展介绍一下同步通信和异步通信的区别3、LIN连接结构及节点构成 二、LIN的特点三、LIN协议层1、帧的结构2、帧的类型3、进度表4、状态机实现5、网络管理6、状态管理 四、帧收发的硬件实现1、组成2、硬件特点3、协议控制器4、总线收发器5、LI…...
Redis BigKey案例
面试题: 阿里广告平台,海量数据里查询某一固定前缀的key小红书,你如何生产上限制keys*/flushdb/flushall等危险命令以防止误删误用?美团,MEMORY USAGE命令你用过吗?BigKey问题,多大算big&#…...
ThinkPHP v6.0.8 CacheStore 反序列化漏洞
漏洞说明 1. 漏洞原理:ThinkPHP 6.0.8 CacheStore 会触发POP利用链子,造成任意命令执行 2. 组件描述: ThinkPHP是一个免费开源的,快速、简单的面向对象的轻量级PHP开发框架 3. 影响版本:V6.0.8 漏洞复现 1. 环境安…...
Spring 事务详解(注解方式)
目 录 序言 1、编程式事务 2、配置声明式事务 2.1 基于TransactionProxyFactoryBean的方式(不常用,因为要为每一个类配置TransactionProxyFactoryBean) 2.2 基于AspectJ的XML方式(常用,可配置在某些类下的所有子…...
华为云waf 使用场景
防护Web应用免受攻击就用华为云Web应用防火墙 Web应用防火墙(Web Application Firewall, WAF),通过对HTTP(S)请求进行检测,识别并阻断SQL注入、跨站脚本攻击、网页木马上传、命令/代码注入、文件包含、敏感文件访问、第…...
?.的写法 后缀修饰符
概览:处理后端返回的数据data,写法:data?.name。解决vue框架编译出现的报错Cannot read property name of undefined。出现问题的原因:这是因为我们试图访问对象中不在的 key 为 name 的属性,那么怎么解决呢ÿ…...
org.apache.hadoop.hive.ql.exec.DDLTask. show Locks LockManager not specified解决
Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. show Locks LockManager not specified解决 当在Hive中执行show locks语句时,出现"LockManager not specified"错误通常是由于…...
Adaptive autosar 都有哪些模块?各有什么功能?
Adaptive autosar是一种用于高性能计算ECU的软件平台,它支持自适应应用程序的开发和运行。它由两部分组成:基础(Foundation)和服务(Service)。基础包括了操作系统接口、执行管理、网络管理、识别访问管理、加密、更新和配置管理等功能。服务包括了通信管理、RESTful、时间…...
C++ 动态内存分配
在C中动态内存的分配技术可以保证程序在允许过程中按照实际需要申请适量的内存,使用结束后还可以释放,这种在程序运行过程中申请和释放的存储单元也称为堆。 申请和释放过程一般称为建立和删除。 在C程序中,建立和删除堆对象使用两个运算符&…...
设计模式——面向对象的7大设计原则
1.单一职责原则 一个类中最好只放一种类型的方法,比如Dao中只有和数据库交互相关的代码。实现高内聚,低耦合。 2.开闭原则 对外拓展开放,对内修改关闭,有新的需求时不要修改已有代码,而是添加新的代码,比…...
智慧防汛,数字科技的力量
随着夏日的脚步临近,台风季节即将降临。对于那些居住在沿海地区的人们来说,台风是一种常见的自然灾害,其带来的风雨可能对生命和财产造成严重威胁。然而,随着数字科技的飞速发展,可视化技术为防汛抗台工作带来了全新的…...
“中国软件杯”飞桨赛道晋级决赛现场名单公布
“中国软件杯”大学生软件设计大赛是由国家工业和信息化部、教育部、江苏省人民政府共同主办,是全国软件行业规格最高、最具影响力的国家级一类赛事,为《全国普通高校竞赛排行榜》榜单内赛事。今年,组委会联合百度飞桨共同设立了“智能系统设…...
JDBC处理批量数据提高效率
文章目录 0 说明1 如何使用jdbc操作数据库1.1 加载数据库驱动1.2 建立数据库连接1.3 创建Statement或者PreparedStatement用来执行SQL1.4 开始执行SQL语句1.5 处理结果集1.6 关闭连接1.7 完整代码 2 批量操作数据库3 如何打印SQL语句4 jdbc常用开源类库 1 JDBC实现往MySQL插入百…...
使用css和js给按钮添加微交互的几种方式
使用css和js给按钮添加微交互的几种方式 在现实世界中,当我们轻弹或按下某些东西时,它们会发出咔嗒声,例如电灯开关。有些东西会亮起或发出蜂鸣声,这些响应都是“微交互”,让我们知道我们何时成功完成了某件事。在本文…...
react面试之context的value变化时,内部所有子组件是否变化
上测试代码 // context const state {a: 1,b: 1, } const context createContext(state);export default context; // A组件 const A () > {const { a } useContext(context);return (<div>{a}</div>) } export default A;// B组件 const B () > {cons…...
使用okHttp不走代理问题
背景 某日使用okhttp设置代理并发送爬虫请求时,发现部分url请求没有走代理直接和目标url建立了连接,伪代码如下。初始化okhttpClient时设置了proxySelecter代理,但是调用okhttpClient.newCall请求时并没用调用proxySelecter.select函数获取代…...
python moviepy 自动化音视频处理实践
MoviePy是一个用于视频编辑的Python库。它提供了一种简单且直观的方式来处理视频文件,包括剪辑、合并、裁剪、添加文本、添加音频等操作。使用MoviePy,你可以通过编写Python代码来创建和编辑视频,而无需使用复杂的视频编辑软件。 MoviePy建立…...
聊聊混合动力汽车和纯电骑车的优势和劣势
混合动力汽车和纯电动骑车是两种不同的交通工具,它们都有各自的优势和劣势。本文将分别探讨混合动力汽车和纯电动骑车的优势和劣势,并为文章提供三个备选的好听的标题。 混合动力汽车是一种结合了内燃机和电动机的汽车,它可以同时利用燃油和电…...
算法训练Day39|62.不同路径 ● 63. 不同路径 II
LeetCode:62.不同路径 62. 不同路径 - 力扣(LeetCode) 1.思路 想象成矩阵填格子,两个关键点,初始化和递推公式。 初始化除点(0,0)第一行第一列均为1,递推公式推导dp[i][j] dp[i …...
react中hooks分享
一. HOOKS是什么 在计算机程序设计中,钩子一词涵盖了一系列技术,这些技术用来通过拦截函数调用、消息或在软件组件之间传递的事件来改变或增加操作系统、应用程序或其他软件组件的行为。处理这些被截获的函数调用、事件或消息的代码称为“hook”。 在r…...
Java - Mysql数据类型对应
Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...
【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例
文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...
python报错No module named ‘tensorflow.keras‘
是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...
Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
Golang——9、反射和文件操作
反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...
uniapp 实现腾讯云IM群文件上传下载功能
UniApp 集成腾讯云IM实现群文件上传下载功能全攻略 一、功能背景与技术选型 在团队协作场景中,群文件共享是核心需求之一。本文将介绍如何基于腾讯云IMCOS,在uniapp中实现: 群内文件上传/下载文件元数据管理下载进度追踪跨平台文件预览 二…...
保姆级【快数学会Android端“动画“】+ 实现补间动画和逐帧动画!!!
目录 补间动画 1.创建资源文件夹 2.设置文件夹类型 3.创建.xml文件 4.样式设计 5.动画设置 6.动画的实现 内容拓展 7.在原基础上继续添加.xml文件 8.xml代码编写 (1)rotate_anim (2)scale_anim (3)translate_anim 9.MainActivity.java代码汇总 10.效果展示 逐帧…...
