<?xml version="1.0" encoding="utf-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>北岛夜话</title><link>https://blog.founderchip.com/</link><description>原创工业智能控制（PLC、单片机、通信）的技术及经验分享。</description><item><title>车辆以太网诊断协议连载(4)——路由激活请求与应答</title><link>https://blog.founderchip.com/?id=568</link><description>&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;收到车辆信息后，测试仪尝试与车辆的DoIP网关通过TCP_DATA端口建立通信（测试仪为客户端）。成功建立通信后，测试仪发送路由激活请求指令，网关将对该指令进行应答。本文将详细介绍DoIP协议的路由激活请求与应答。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://blog.founderchip.com/zb_users/upload/2026/02/20260226192220177210494062669.png&quot; title=&quot;cover.png&quot; alt=&quot;cover.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;1、路由激活请求&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;测试仪通过TCP_DATA端口（13400）发送路由激活请求。以版本号0x03为例，报文格式如下：&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 16px; background-color: #A5A5A5;&quot;&gt;0x03 0xFC 0x00 0x05 0x00 0x00 0x00 0x0B 0xXX ...&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;其中：0x0005是负载类型，0x0B是负载长度（11个字节），负载的格式如下表所示：&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;table&gt;&lt;thead&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;th style=&quot;border-top-color: rgb(221, 221, 221); word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;名称&lt;br/&gt;&lt;/span&gt;&lt;/th&gt;&lt;th style=&quot;border-top-color: rgb(221, 221, 221); word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;位置&lt;/span&gt;&lt;/th&gt;&lt;th style=&quot;border-top-color: rgb(221, 221, 221); word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;长度&lt;/span&gt;&lt;/th&gt;&lt;th style=&quot;border-top-color: rgb(221, 221, 221); word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;描述&lt;/span&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;Source address&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;8&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;2&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;请求路由激活的实体&lt;span style=&quot;font-size: 16px; text-wrap-mode: wrap;&quot;&gt;（测试仪）&lt;/span&gt;的逻辑地址&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;Activation type&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;10&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;1&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;路由激活的类型&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;Reserved&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;11&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;4&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;ISO 13400协议保留（默认0）&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;Reserved for VM-specific&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;15&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;4&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;为车辆制造商预留&lt;/span&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;ul class=&quot; list-paddingleft-2&quot; style=&quot;list-style-type: disc;&quot;&gt;&lt;li&gt;&lt;p style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;测试仪的逻辑地址可向车辆制造商获取，一般从0x0E80开始；&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;VM是“Vehicle Manufacture”的缩写，即“车辆制造商”；&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;路由激活的类型见下面的表格：&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;table&gt;&lt;thead&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;th style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;值&lt;/span&gt;&lt;/th&gt;&lt;th style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;描述&lt;br/&gt;&lt;/span&gt;&lt;/th&gt;&lt;th style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;请求动作&lt;/span&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x00&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;默认&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;无&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x01&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;法规要求的诊断通信 (例如 遵循 ISO 27145-1, ISO 20730-1 等标准)&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;无&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x02 ~ 0xDF&lt;br/&gt;&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;ISO 13400协议保留&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;border-color: rgb(221, 221, 221);&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0xE0&lt;br/&gt;&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;中央安全 (通常指需要中央网关或安全模块处理的安全激活类型)&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;车辆制造商定义&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0xE1 ~ 0xFF&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;可供车辆制造商 (VM) 额外定义使用&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;text-wrap-mode: wrap; font-size: 16px;&quot;&gt;车辆制造商定义&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;2、路由激活应答&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;车辆的DoIP网关通过TCP_DATA端口（13400）发送路由应答。以版本号0x03为例，报文格式如下：&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap-mode: wrap; text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 16px; background-color: #A5A5A5;&quot;&gt;0x03 0xFC 0x00 0x06 0x00 0x00 0x00 0x11 0xXX ...&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;其中：0x0006是负载类型，0x11是负载长度（17个字节）。有的长度可能会是13字节或21字节，取决于车辆是否发送保留数据，参考下面表格介绍的负载格式：&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;table&gt;&lt;thead&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;th style=&quot;border-top-color: rgb(221, 221, 221); word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;名称&lt;br/&gt;&lt;/span&gt;&lt;/th&gt;&lt;th style=&quot;border-top-color: rgb(221, 221, 221); word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;位置&lt;/span&gt;&lt;/th&gt;&lt;th style=&quot;border-top-color: rgb(221, 221, 221); word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;长度&lt;/span&gt;&lt;/th&gt;&lt;th style=&quot;border-top-color: rgb(221, 221, 221); word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;描述&lt;/span&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;Logical address of DoIP client Entity&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;8&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;2&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;路由激活请求实体（测试仪）的逻辑地址&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px; text-wrap-mode: wrap;&quot;&gt;Logical address of DoIP Entity&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;10&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;2&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;路由激活应答实体（网关）的逻辑地址&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;Routing activation response code&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;12&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;1&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;路由激活的应答码&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;reserved&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;13&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;4&lt;br/&gt;&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px; text-wrap-mode: wrap;&quot;&gt;ISO 13400协议保留（默认0）&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;reserved for VM-specific&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;17&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;4&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;为车辆制造商预留&lt;/span&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;ul class=&quot; list-paddingleft-2&quot; style=&quot;width: 777.729px; text-wrap-mode: wrap;&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;测试仪的逻辑地址可向车辆制造商获取，一般从0x0E80开始；&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;路由激活应答码的含义如下面的表格所示：&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;table width=&quot;803&quot;&gt;&lt;thead&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;th style=&quot;border-color: rgb(221, 221, 221); word-break: break-all;&quot; width=&quot;99&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;值&lt;/span&gt;&lt;/th&gt;&lt;th style=&quot;border-color: rgb(221, 221, 221); word-break: break-all;&quot; width=&quot;442&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;描述&lt;br/&gt;&lt;/span&gt;&lt;/th&gt;&lt;th style=&quot;border-color: rgb(221, 221, 221); word-break: break-all;&quot; width=&quot;262&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;请求动作&lt;/span&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot; width=&quot;99&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x00&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot; width=&quot;442&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;拒绝：源地址未知&lt;br/&gt;&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot; width=&quot;262&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;不激活路由，关闭该套接字&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot; width=&quot;99&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x01&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot; width=&quot;442&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;拒绝：所有当前支持的TCP_DATA套接字均已注册并激活&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot; width=&quot;262&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;不激活路由，关闭该套接字&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot; width=&quot;99&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x02&lt;br/&gt;&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot; width=&quot;442&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;拒绝：收到的源地址或路由激活类型与已激活的TCP_DATA套接字上的连接表条目不符&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot; width=&quot;262&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;不激活路由，关闭该套接字&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot; width=&quot;99&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x03&lt;br/&gt;&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot; width=&quot;442&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;拒绝：该源地址已在另一个TCP_DATA套接字上注册并激活&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot; width=&quot;262&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;不激活路由，关闭该套接字&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot; width=&quot;99&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x04&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot; width=&quot;442&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;拒绝：缺少认证(missing authentication)&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot; width=&quot;262&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;不激活路由，但将此连接注册为 [等待认证] 状态&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot; width=&quot;99&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x05&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot; width=&quot;442&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;拒绝：原因是确认被拒绝（rejected confirmamtion）&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot; width=&quot;262&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;不激活路由，关闭该套接字&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot; width=&quot;99&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x06&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot; width=&quot;442&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;拒绝：不支持所请求的路由激活类型&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot; width=&quot;262&quot;&gt;&lt;span style=&quot;text-wrap-mode: wrap; font-size: 16px;&quot;&gt;不激活路由，关闭该套接字&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot; width=&quot;99&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x07&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot; width=&quot;442&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;拒绝：因为指定的激活类型需要使用安全的套接字&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot; width=&quot;262&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;不激活路由，并关闭该（非安全）套接字&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot; width=&quot;99&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x08&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot; width=&quot;442&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;拒绝：由于车辆处于关键状态&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot; width=&quot;262&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;说明[1]&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot; width=&quot;99&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x09 ~ 0x0F&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot; width=&quot;442&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;ISO 13400协议保留&lt;br/&gt;&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;border-color: rgb(221, 221, 221);&quot; width=&quot;262&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot; width=&quot;99&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x10&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot; width=&quot;442&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;路由激活成功&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot; width=&quot;262&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;激活路由，并在该套接字上注册该源地址&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot; width=&quot;99&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x11&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot; width=&quot;442&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;路由已激活，但需要（车辆内部）确认&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot; width=&quot;262&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;仅在收到来自车辆内部的确认后才激活路由&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot; width=&quot;99&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x12&amp;nbsp;~&amp;nbsp;0xDF&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot; width=&quot;442&quot;&gt;&lt;span style=&quot;text-wrap-mode: wrap; font-size: 16px;&quot;&gt;ISO 13400协议保留&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;border-color: rgb(221, 221, 221);&quot; width=&quot;262&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot; width=&quot;99&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0xE0 ~ 0xFE&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot; width=&quot;442&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;车辆制造商预留（专用）&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;border-color: rgb(221, 221, 221);&quot; width=&quot;262&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot; width=&quot;99&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0xFF&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot; width=&quot;442&quot;&gt;&lt;span style=&quot;text-wrap-mode: wrap; font-size: 16px;&quot;&gt;ISO 13400协议保留&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;border-color: rgb(221, 221, 221);&quot; width=&quot;262&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;说明&lt;/span&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;[1]：&lt;/span&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;当车辆处于关键状态收到路由激活请求消息时，DoIP实体应发送该响应码设。比如车辆正在进行不可中断的软件更新。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;好了，关于DoIP协议的路由激活请求及应答就先介绍到这里。&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap-mode: wrap;&quot;&gt;本文参考文档：ISO 13400-2-2025 第12.5节&lt;/p&gt;&lt;p style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;欢迎扫一扫微信小程序【李工谈工控】查看本站信息。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img class=&quot;ue-image&quot; src=&quot;https://blog.founderchip.com/zb_users/upload/2018/11/20181112195330154202361055645.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;Copyright@北岛李工 founderchip 2016~Now&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://blog.founderchip.com/?id=568&quot; target=&quot;_blank&quot;&gt;继续阅读《车辆以太网诊断协议连载(4)——路由激活请求与应答》的全文内容...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;分类: 通信 | Tags: &lt;a href=&quot;https://blog.founderchip.com/?tags=869&quot;&gt;DoIP&lt;/a&gt;，&lt;a href=&quot;https://blog.founderchip.com/?tags=874&quot;&gt;路由激活&lt;/a&gt;， | &lt;a href=&quot;https://blog.founderchip.com/?id=568#comment&quot; target=&quot;_blank&quot;&gt;添加评论&lt;/a&gt;(0)&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://blog.founderchip.com/?id=568#comment&quot; target=&quot;_blank&quot;&gt;还没有评论，您来说两句？&lt;/a&gt;&lt;/p&gt;</description><pubDate>Tue, 24 Feb 2026 19:25:24 +0800</pubDate></item><item><title>车辆以太网诊断协议连载(3)——车辆识别请求及应答</title><link>https://blog.founderchip.com/?id=567</link><description>&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;车辆识别请求有三种负载类型：（通用）车辆识别请求、带实体识别码（EID）的车辆识别请求和&lt;span style=&quot;font-size: 16px; text-wrap-mode: wrap;&quot;&gt;带车辆识别码（VIN）的车辆识别请求&lt;/span&gt;。&lt;/span&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://blog.founderchip.com/zb_users/upload/2026/02/20260213163832_24256.png&quot; title=&quot;cover.png&quot; alt=&quot;cover.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;1、通用车辆识别请求&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;通用车辆识别请求&lt;span style=&quot;font-size: 16px; text-wrap-mode: wrap;&quot;&gt;通过UDP_DISCOVER端口（13400）发送广播数据，所有收到该广播的车辆都将对其进行回应。该报文没有&lt;span style=&quot;font-size: 16px; text-wrap-mode: wrap;&quot;&gt;负载，&lt;/span&gt;&lt;/span&gt;仅通过报文头发送数据。以版本号为0x03为例，报文格式如下：&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 16px; background-color: #BFBFBF;&quot;&gt;0x03&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0xFC&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x00&lt;/span&gt;&lt;/p&gt;&lt;p&gt;其中：0x0001是负载类型，后面跟着负载长度（当前负载长度为0）。关于报文结构的更多详细信息见本连载第（1）篇文章。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;2、带实体识别码（EID）的车辆识别请求&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;EID是“entity identification”的缩写，表示“实体识别码”。所谓“实体”，是指DoIP网络中的通信单元，在其它网络中也被称为“节点”。实体识别码是唯一能够标识该实体的一串字符，比如其网卡的物理地址（MAC address）。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;该报文也通过&lt;span style=&quot;font-size: 16px; text-wrap-mode: wrap;&quot;&gt;UDP_DISCOVER端口（13400）发送广播数据，实体收到请求后，与识别码相匹配的实体进行应答。&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;span style=&quot;font-size: 16px; text-wrap-mode: wrap;&quot;&gt;该报文的负载类型为0x0002，负载长度为6。&lt;/span&gt;以版本号为0x03为例，报文格式如下：&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap-mode: wrap; text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 16px; background-color: #BFBFBF;&quot;&gt;0x03&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0xFC&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x02&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x06&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0xXX&amp;nbsp; &amp;nbsp;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0xXX&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: wrap; font-size: 14px;&quot;&gt;其中：0xXX ... 0xXX为实体识别码（长度为6字节）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;3、带车辆识别码（VIN）的车辆识别请求&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;VIN是“Vehicle Identification Number”的缩写，表示“车辆识别码”，由17位字母和数字组成，包括：世界制造厂识别码、车辆特征码、车辆提示信息三部分 。&lt;/span&gt;&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot; style=&quot;list-style-type: square;&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;1~3位是制造厂识别码。其中：第1位代表国家和地区，第2~3位代表厂商；&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;4~9位是车辆特征码。其中：第4~8位代表车辆的种类、系列、车身和发动机类型等信息，第9位是校验位；&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;10~17位是车辆提示信息。包括生产年份（代码）、装配厂、独有系列号等等；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;带车辆识别码的车辆识别请求信息，是将车辆识别码作为负载发送到&lt;span style=&quot;font-size: 16px; text-wrap-mode: wrap;&quot;&gt;UDP_DISCOVER端口（13400），与该识别码相匹配的车辆将进行应答。&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;该报文的负载类型为0x0003，负载长度为17。以版本号为0x03为例，报文格式如下：&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap-mode: wrap; text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 16px; background-color: #BFBFBF;&quot;&gt;0x03&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0xFC&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x03&amp;nbsp; &amp;nbsp; 0x00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x11&amp;nbsp; &amp;nbsp; 0xXX&amp;nbsp; &amp;nbsp;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0xXX&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px; text-wrap-mode: wrap;&quot;&gt;其中：0xXX ... 0xXX为车辆识别码（长度为17字节）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;4、车辆识别应答/车辆广播&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;收到车辆识别请求后，与之匹配的车辆将进行应答。其负载类型为0x0004，负载的格式如下：&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;table&gt;&lt;thead&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;th style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;名称&lt;br/&gt;&lt;/th&gt;&lt;th style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;位置&lt;/th&gt;&lt;th style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;长度&lt;/th&gt;&lt;th style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;描述&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;VIN&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;8&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;17&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;车辆识别码&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;Logical Address&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;25&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;2&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;DoIP应答实体的逻辑地址&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;EID&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;27&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;6&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;实体识别码&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;GID&lt;br/&gt;&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;33&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;6&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;组识别码&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;Further action required&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;39&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;1&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;下一步动作要求&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;VIN/GID sync. status&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;40&lt;br/&gt;&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;1&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;车辆识别码/组识别码的同步状态&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;其中：位置从字节8开始，是因为字节0~7为报文头；&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;“&lt;span style=&quot;font-size: 16px; text-wrap-mode: wrap;&quot;&gt;下一步动作要求&lt;/span&gt;”的取值如下表所示：&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;table&gt;&lt;thead&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;th style=&quot;word-break: break-all;&quot;&gt;值&lt;/th&gt;&lt;th style=&quot;word-break: break-all;&quot;&gt;描述&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;389&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x00&lt;br/&gt;&lt;/span&gt;&lt;/td&gt;&lt;td width=&quot;389&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;没有进一步的要求&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;389&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x01~0x0F&lt;/span&gt;&lt;/td&gt;&lt;td width=&quot;389&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;保留&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;389&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x10&lt;br/&gt;&lt;/span&gt;&lt;/td&gt;&lt;td width=&quot;389&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;路由激活需要初始化安全策略&lt;br/&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;389&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x11~0xFF&lt;/span&gt;&lt;/td&gt;&lt;td width=&quot;389&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;保留给制造厂商&lt;br/&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;/span&gt;“&lt;span style=&quot;font-size: 16px; text-wrap-mode: wrap;&quot;&gt;车辆识别码/组识别&lt;/span&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;span style=&quot;text-wrap-mode: wrap;&quot;&gt;码的同步状态&lt;/span&gt;”的取值如下：&lt;/span&gt;&lt;/p&gt;&lt;table&gt;&lt;thead&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;th style=&quot;word-break: break-all;&quot;&gt;值&lt;/th&gt;&lt;th style=&quot;word-break: break-all;&quot;&gt;描述&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;389&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x00&lt;/span&gt;&lt;/td&gt;&lt;td width=&quot;389&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px; text-wrap-mode: wrap;&quot;&gt;车辆识别码/组识别码已经同步&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;389&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x01~0x0F&lt;/span&gt;&lt;/td&gt;&lt;td width=&quot;389&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;保留&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;389&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x10&lt;br/&gt;&lt;/span&gt;&lt;/td&gt;&lt;td width=&quot;389&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px; text-wrap-mode: wrap;&quot;&gt;车辆识别码/组识别码同步未完成&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;389&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x11~0xFF&lt;/span&gt;&lt;/td&gt;&lt;td width=&quot;389&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;保留&lt;br/&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;好了，关于车辆识别的请求及应答就先介绍到这里。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;本文参考文档：ISO 13400-2-2025 第7.4节&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;欢迎扫一扫微信小程序【李工谈工控】查看本站信息。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img class=&quot;ue-image&quot; src=&quot;https://blog.founderchip.com/zb_users/upload/2018/11/20181112195330154202361055645.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;Copyright@北岛李工 founderchip 2016~Now&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://blog.founderchip.com/?id=567&quot; target=&quot;_blank&quot;&gt;继续阅读《车辆以太网诊断协议连载(3)——车辆识别请求及应答》的全文内容...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;分类: 通信 | Tags: &lt;a href=&quot;https://blog.founderchip.com/?tags=872&quot;&gt;车辆识别请求及应答&lt;/a&gt;，&lt;a href=&quot;https://blog.founderchip.com/?tags=873&quot;&gt;DOIP&lt;/a&gt;， | &lt;a href=&quot;https://blog.founderchip.com/?id=567#comment&quot; target=&quot;_blank&quot;&gt;添加评论&lt;/a&gt;(0)&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://blog.founderchip.com/?id=567#comment&quot; target=&quot;_blank&quot;&gt;还没有评论，您来说两句？&lt;/a&gt;&lt;/p&gt;</description><pubDate>Wed, 11 Feb 2026 09:40:56 +0800</pubDate></item><item><title>车辆以太网诊断协议连载(2)——通用报文头负响应</title><link>https://blog.founderchip.com/?id=566</link><description>&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;当接收到的DoIP报文格式错误或者负载类型不支持时，接收方应发送“&lt;span style=&quot;font-size: 16px; text-wrap-mode: wrap;&quot;&gt;通用报文头负响应报文&lt;/span&gt;”。&lt;/span&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://blog.founderchip.com/zb_users/upload/2026/01/20260130194935_88121.png&quot; title=&quot;cover.png&quot; alt=&quot;cover.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;“&lt;span style=&quot;font-size: 16px; text-wrap-mode: wrap;&quot;&gt;通用报文头负响应报文&lt;/span&gt;”由报文头（8字节）+负响应码（1字节）组成，其负载类型的取值为0x0000（更多信息见上一篇文章）。以协议版本号为0x03为例，其报文格式为：&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 16px; background-color: #A5A5A5;&quot;&gt;0x03 0xFC 0x00 0x00 0x00 0x00 0x00 0x01 0xXX&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;其中0xXX为负响应码，其取值及含义如下面的表格所示：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;table&gt;&lt;thead&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;th style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;取值&lt;br/&gt;&lt;/span&gt;&lt;/th&gt;&lt;th style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;描述&lt;/span&gt;&lt;/th&gt;&lt;th style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;动作&lt;/span&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;253&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x00&lt;br/&gt;&lt;/span&gt;&lt;/td&gt;&lt;td width=&quot;253&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;格式不正确&lt;/span&gt;&lt;/td&gt;&lt;td width=&quot;253&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;关闭套接字&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;253&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x01&lt;/span&gt;&lt;/td&gt;&lt;td width=&quot;253&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;未知的负载类型&lt;/span&gt;&lt;/td&gt;&lt;td width=&quot;253&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;丢弃报文&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;253&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x02&lt;/span&gt;&lt;/td&gt;&lt;td width=&quot;253&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;报文过长&lt;/span&gt;&lt;/td&gt;&lt;td width=&quot;253&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;text-wrap-mode: wrap; font-size: 16px;&quot;&gt;丢弃报文&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;253&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x03&lt;/span&gt;&lt;/td&gt;&lt;td width=&quot;253&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;内存溢出&lt;/span&gt;&lt;/td&gt;&lt;td width=&quot;253&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;text-wrap-mode: wrap; font-size: 16px;&quot;&gt;丢弃报文&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;253&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x04&lt;/span&gt;&lt;/td&gt;&lt;td width=&quot;253&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;负载长度无效&lt;/span&gt;&lt;/td&gt;&lt;td width=&quot;253&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;text-wrap-mode: wrap; font-size: 16px;&quot;&gt;丢弃报文&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x05 ~ 0xFF&lt;br/&gt;&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;保留&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;解释如下：&lt;/span&gt;&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot; style=&quot;list-style-type: decimal;&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;若接收到的报文不符合DoIP报文头的规范（比如“协议版本号”与“版本号取反”不匹配），或DoIP服务器不支持该版本，则应发送一条“通用报文头负响应”报文，并将否定码设置为0x00；&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;若接收到的报文的负载类型不被支持，则DoIP实体应发送一条“通用报文头负响应”报文，并将否定码设置为0x01；&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;若接收到的报文的负载长度超过了当前DoIP实体所支持的最大值，无论当前内存使用情况如何，均应发送一条“通用报文头负响应”报文，并将否定码设置为0x02；&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;若接收到的报文的负载长度超过了当前DoIP 实体可用的内存，则应发送一条“通用报文头负响应”报文，并将否定码设置为0x03；&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;若接收到的报文的负载长度与特定负载类型所期望的长度不匹配，则 DoIP 实体应发送一条“通用报文头负响应”报文，并将否定码设置为0x04。这包括针对特定负载类型的最小长度、固定长度和最大长度的检查；&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;当DoIP实体作为服务器运行并通过UDP接收到负载类型为0x0000或0x0004的DoIP消息时，应丢弃该消息且不发送“通用报文头负响应”报文；&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;span style=&quot;font-size: 16px; text-wrap-mode: wrap;&quot;&gt;欢迎扫一扫微信小程序【李工谈工控】查看本站信息：&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;span style=&quot;font-size: 16px; text-wrap-mode: wrap;&quot;&gt;&lt;img class=&quot;ue-image&quot; src=&quot;https://blog.founderchip.com/zb_users/upload/2018/11/20181112195330154202361055645.png&quot;/&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Copyright@北岛李工 founderchip 2016~Now&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://blog.founderchip.com/?id=566&quot; target=&quot;_blank&quot;&gt;继续阅读《车辆以太网诊断协议连载(2)——通用报文头负响应》的全文内容...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;分类: 通信 | Tags: &lt;a href=&quot;https://blog.founderchip.com/?tags=869&quot;&gt;DoIP&lt;/a&gt;，&lt;a href=&quot;https://blog.founderchip.com/?tags=870&quot;&gt;UDS&lt;/a&gt;，&lt;a href=&quot;https://blog.founderchip.com/?tags=871&quot;&gt;车辆诊断&lt;/a&gt;， | &lt;a href=&quot;https://blog.founderchip.com/?id=566#comment&quot; target=&quot;_blank&quot;&gt;添加评论&lt;/a&gt;(0)&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://blog.founderchip.com/?id=566#comment&quot; target=&quot;_blank&quot;&gt;还没有评论，您来说两句？&lt;/a&gt;&lt;/p&gt;</description><pubDate>Fri, 30 Jan 2026 19:28:25 +0800</pubDate></item><item><title>车辆以太网诊断协议连载(1)——报文结构</title><link>https://blog.founderchip.com/?id=565</link><description>&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;随着汽车新功能（辅助驾驶、信息娱乐、软件更新、远程诊断等）的出现，其内部电子系统需要传输的数据量日益增多，以往基于CAN/CANFD网络的诊断协议逐渐不能满足要求，于是基于以太网的诊断协议便应运而生了。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://blog.founderchip.com/zb_users/upload/2026/01/20260127190645176951200543503.png&quot; title=&quot;cover.png&quot; alt=&quot;cover.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;车辆以太网诊断协议，英文名称“Diagnostic over Internet Protocol”，简称“DoIP”。2011年，国际标准化组织首次发布了ISO 13400-1:2011国际标准，其中明确了DoIP的概念、应用场景。2012年发布了ISO 13400-2:2012，详细规定了传输层、网络层的服务，以及DoIP报文的具体格式。2019年发布了ISO 13400-2:2019，对之前的协议进行改进，提升了稳定性。2025年发布了ISO 13400-2:2025，本文基于该版本进行介绍。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;DoIP协议在开放互联参考模型（OSI）中的位置如下图所示（与传统协议进行对比）：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://blog.founderchip.com/zb_users/upload/2026/01/20260127074508_33996.png&quot; title=&quot;OSI参考模型.png&quot; alt=&quot;OSI参考模型.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;简单理解：DoIP协议的物理层和数据链路层依赖于百兆以太网，位于传输层TCP/UDP协议之上，同时又位于应用层协议（比如UDS）之下。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;DoIP协议的报文由报文头和负载两部分组成。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;报文头长度固定为8字节，包括：协议版本号、版本号取反、负载类型和负载长度，如下面的表格所示：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;table&gt;&lt;thead&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;th style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;名称&lt;/span&gt;&lt;/th&gt;&lt;th style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;长度（字节数）&lt;/span&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;389&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;协议版本号&lt;/span&gt;&lt;/td&gt;&lt;td width=&quot;389&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;1&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;389&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;版本号取反&lt;br/&gt;&lt;/span&gt;&lt;/td&gt;&lt;td width=&quot;389&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;1&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;389&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;负载类型&lt;/span&gt;&lt;/td&gt;&lt;td width=&quot;389&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;2&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;负载长度&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;4&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;其中：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;1.协议版本号：长度1字节，取值范围包括：&lt;/span&gt;&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot; style=&quot;list-style-type: square;&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x00（ISO 13400-1:2011）；&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x02（ISO 13400-2:2012）；&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x03（ISO 13400-2:2012）；&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x04（ISO 13400-2:2025）；&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x05~0xFE（保留）；&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;2.协议版本号取反：协议版本号按位取反（长度1字节）。与协议版本号配合使用，作为协议验证模式，以确保接收到格式正确的DoIP报文；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;3.负载类型：长度2字节，取值范围：0x0000~0xFFFF（下文详述）。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;4.负载长度：长度4字节，取值范围：0~4 294 967 295。（四字节无符号数的表达范围，2的32次方）。负载长度的单位为字节。有些报文不需要负载，因此长度可以为0；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;DoIP协议对负载类型进行了定义与归类，如下面的表格所示：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;table&gt;&lt;thead&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;th style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;取值&lt;/span&gt;&lt;/th&gt;&lt;th style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;名称&lt;/span&gt;&lt;/th&gt;&lt;th style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;协议&lt;/span&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x0000&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;通用报文头负响应&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;generic DoIP header negative acknowledge&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;UDP_DISCOVER&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;UDP_TEST_EQUIPMENT_REQUEST&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;TCP_DATA&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x0001&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;车辆识别请求消息&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;vehicle identification request message&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;UDP_DISCOVER&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x0002&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;带EID的车辆识别请求消息&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;vehicle identification request message with EID&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;UDP_DISCOVER&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x0003&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;带VIN的车辆识别请求消息&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;vehicle identification request message with VIN&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;UDP_DISCOVER&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x0004&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;车辆声明消息/车辆识别应答消息&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;vehicle announcement message/&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;vehicle identification response message&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;UDP_DISCOVER&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;UDP_TEST_EQUIPMENT_REQUEST&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x0005&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;路由激活请求&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;routing activation request&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;TCP_DATA&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x0006&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;路由激活应答&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;routing activation response&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;TCP_DATA&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x0007&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;车辆保活请求alive check request&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;TCP_DATA&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x0008&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;车辆保活应答alive check response&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;TCP_DATA&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x0009&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;~&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x4000&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;保留&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; style=&quot;border-color: rgb(221, 221, 221);&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x4001&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;DoIP实体状态请求&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;DoIP entity status request&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;UDP_DISCOVER&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x4002&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;DoIP实体状态应答&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;DoIP entity status response&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;UDP_TEST_EQUIPMENT_REQUEST&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x4003&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;诊断电源模式信息请求&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;diagnostic power mode information request&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;UDP_DISCOVER&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x4004&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;诊断电源模式信息应答&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;diagnostic power mode information response&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;UDP_TEST_EQUIPMENT_REQUEST&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x4005&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;~&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x8000&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;保留&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;border-color: rgb(221, 221, 221);&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x8001&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;诊断消息diagnostic message&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;TCP_DATA&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x8002&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;诊断消息正响应&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;diagnostic message positive acknowledgement&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;TCP_DATA&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x8003&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;诊断消息负响应&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;diagnostic message negative acknowledgement&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;TCP_DATA&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x8004&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;周期性诊断消息&lt;/span&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;periodic diagnostic message&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;TCP_DATA&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x8005&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;~&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x8FFF&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;保留&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;border-color: rgb(221, 221, 221);&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x9000&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;保留&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;border-color: rgb(221, 221, 221);&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x9001&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;DOIP网关连接的子网传输协议负载消息结构&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;TCP_DATA&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x9002&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;~&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0x9FFF&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;保留&lt;/span&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;border-color: rgb(221, 221, 221);&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0xF000&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;~&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;0xFFFF&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;word-break: break-all; border-color: rgb(221, 221, 221);&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;为制造商保留&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;reserved for manufacture-specific use&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot; style=&quot;border-color: rgb(221, 221, 221);&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;其中，缩略词：&lt;/span&gt;&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot; style=&quot;list-style-type: square;&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;EID：&lt;/span&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;entity identification（实体识别码）&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;VIN：vehicle identification number（车辆识别码）&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;负载的内容根据类型不同而有所不同，将在后面的文章中陆续介绍。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;好了，关于DoIP的报文结构就先介绍到这里。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;欢迎通过微信小程序【李工谈工控】查看本站信息：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img class=&quot;ue-image&quot; src=&quot;https://blog.founderchip.com/zb_users/upload/2018/11/20181112195330154202361055645.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;Copyright@北岛李工 founderchip 2016~Now&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://blog.founderchip.com/?id=565&quot; target=&quot;_blank&quot;&gt;继续阅读《车辆以太网诊断协议连载(1)——报文结构》的全文内容...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;分类: 通信 | Tags: &lt;a href=&quot;https://blog.founderchip.com/?tags=869&quot;&gt;DoIP&lt;/a&gt;，&lt;a href=&quot;https://blog.founderchip.com/?tags=870&quot;&gt;UDS&lt;/a&gt;，&lt;a href=&quot;https://blog.founderchip.com/?tags=871&quot;&gt;车辆诊断&lt;/a&gt;， | &lt;a href=&quot;https://blog.founderchip.com/?id=565#comment&quot; target=&quot;_blank&quot;&gt;添加评论&lt;/a&gt;(0)&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://blog.founderchip.com/?id=565#comment&quot; target=&quot;_blank&quot;&gt;还没有评论，您来说两句？&lt;/a&gt;&lt;/p&gt;</description><pubDate>Tue, 27 Jan 2026 07:41:41 +0800</pubDate></item><item><title>汇川中型PLC(AM521)ST语言编程及下载示例</title><link>https://blog.founderchip.com/?id=564</link><description>&lt;p&gt;
    &lt;span style=&quot;word-wrap:break-word;font-size: 16px;&quot;&gt;今天这篇文章给大家介绍下汇川中型PLC使用结构化文本语言（ST）编写程序及下载示例。例程使用的控制器为AM521-0808TN，写一个测试数字量输出的跑马灯程序。&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
    &lt;img src=&quot;https://blog.founderchip.com/zb_users/upload/2025/12/20251204152748_78633.png&quot; title=&quot;cover.png&quot; alt=&quot;cover.png&quot;/&gt;
&lt;/p&gt;
&lt;p&gt;
    &lt;span style=&quot;word-wrap:break-word;font-size: 16px;&quot;&gt;打开InoProShop，新建工程，设备选择“AM521-0808TP/TN”，如下图所示：&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
    &lt;img src=&quot;https://blog.founderchip.com/zb_users/upload/2025/12/20251204152748_26661.png&quot; title=&quot;新建工程.png&quot; alt=&quot;新建工程.png&quot;/&gt;
&lt;/p&gt;
&lt;p&gt;
    &lt;span style=&quot;word-wrap:break-word;font-size: 16px;&quot;&gt;在设备树的【PLC逻辑】-&amp;gt;【应用（Application）】单击右键，在弹出的对话框中选择“添加程序组织单元”。填写名称“testDQs”，选择类型为“功能块”，实现语言为“结构化文本”，如下图所示：&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
    &lt;img src=&quot;https://blog.founderchip.com/zb_users/upload/2025/12/20251204152748_11137.png&quot; title=&quot;testDQs.png&quot; alt=&quot;testDQs.png&quot;/&gt;
&lt;/p&gt;
&lt;p&gt;
    &lt;span style=&quot;word-wrap:break-word;font-size: 16px;&quot;&gt;在testDQs中编写代码如下图所示：&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
    &lt;img src=&quot;https://blog.founderchip.com/zb_users/upload/2025/12/20251204152748_79285.png&quot; title=&quot;testDQs2.png&quot; alt=&quot;testDQs2.png&quot;/&gt;
&lt;/p&gt;
&lt;p&gt;
    &lt;span style=&quot;word-wrap:break-word;font-size: 16px;&quot;&gt;该功能块使用一个延时接通定时器，控制字节变量（_tmpBytes）的位依次输出。输入参数为定时器的时间间隔，输出参数为要控制的字节变量。&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
    &lt;span style=&quot;word-wrap:break-word;font-size: 16px;&quot;&gt;在主程序（PLC_PRG）中实例化功能块testDQs为testLocalDQs，并定义本地变量_localDQs，调用实例化的功能块，如下图所示：&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
    &lt;img src=&quot;https://blog.founderchip.com/zb_users/upload/2025/12/20251204152748_51643.png&quot; title=&quot;主程序调用.PNG&quot; alt=&quot;主程序调用.PNG&quot;/&gt;
&lt;/p&gt;
&lt;p&gt;
    &lt;span style=&quot;word-wrap:break-word;font-size: 16px;&quot;&gt;将变量_localDQs映射到模块的本地输出，如下图所示：&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
    &lt;img src=&quot;https://blog.founderchip.com/zb_users/upload/2025/12/20251204152748_19029.png&quot; title=&quot;本地IO映射.PNG&quot; alt=&quot;本地IO映射.PNG&quot;/&gt;
&lt;/p&gt;
&lt;p&gt;
    &lt;span style=&quot;word-wrap:break-word;font-size: 16px;&quot;&gt;编译程序。&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
    &lt;span style=&quot;word-wrap:break-word;font-size: 16px;&quot;&gt;点击【在线】-【登录到】（或工具栏快捷按钮）登录到设备，首次登录时会查找设备，如下图所示：&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
    &lt;img src=&quot;https://blog.founderchip.com/zb_users/upload/2025/12/20251204152748_34355.png&quot; title=&quot;连接控制器1.png&quot; alt=&quot;连接控制器1.png&quot;/&gt;
&lt;/p&gt;
&lt;p&gt;
    &lt;img src=&quot;https://blog.founderchip.com/zb_users/upload/2025/12/20251204152748_99086.png&quot; title=&quot;连接控制器2.png&quot; alt=&quot;连接控制器2.png&quot;/&gt;
&lt;/p&gt;
&lt;p&gt;
    &lt;span style=&quot;word-wrap:break-word;font-size: 16px;&quot;&gt;登录后自动下载程。单击工具栏【启动】按钮运行程序，能实现需要的跑马灯效果，如下图所示：&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
    &lt;img src=&quot;https://blog.founderchip.com/zb_users/upload/2025/12/20251204152748_89078.png&quot; title=&quot;执行程序.png&quot; alt=&quot;执行程序.png&quot;/&gt;
&lt;/p&gt;
&lt;p&gt;
    &lt;span style=&quot;word-wrap:break-word;font-size: 16px;&quot;&gt;好了，关于汇川中型PLC（AM521）的ST语言编程及下载示例就先介绍到这里。&lt;/span&gt;
&lt;/p&gt;
&lt;p style=&quot;text-wrap-mode: wrap;&quot;&gt;
    &lt;span style=&quot;font-size: 16px;&quot;&gt;下面是汇川中型PLC结构化文本语言编程的文章归档链接：&lt;/span&gt;
&lt;/p&gt;
&lt;p style=&quot;text-wrap-mode: wrap;&quot;&gt;
    &lt;a href=&quot;https://blog.founderchip.com/?id=562&quot; target=&quot;_blank&quot; title=&quot;汇川AM系列控制器结构化文本语言编程&quot; textvalue=&quot;》》汇川AM系列控制器结构化文本语言编程《《&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;》》汇川AM系列控制器结构化文本语言编程《《&lt;/span&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p style=&quot;text-wrap-mode: wrap;&quot;&gt;
    &lt;span style=&quot;font-size: 16px;&quot;&gt;我的书《西门子S7-1200/1500 PLC SCL语言编程 ——从入门到精通》从硬件到软件，比较详细的介绍了SCL语言的编程，感兴趣的话可以扫描下面的二维码查看：&lt;/span&gt;
&lt;/p&gt;
&lt;p style=&quot;text-wrap-mode: wrap;&quot;&gt;
    &lt;img class=&quot;ue-image&quot; src=&quot;https://blog.founderchip.com/mybooks/s7_1200_1500_scl/pic/buy_it.png&quot;/&gt;
&lt;/p&gt;&lt;p&gt;Copyright@北岛李工 founderchip 2016~Now&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://blog.founderchip.com/?id=564&quot; target=&quot;_blank&quot;&gt;继续阅读《汇川中型PLC(AM521)ST语言编程及下载示例》的全文内容...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;分类: PLC/HMI | Tags:  | &lt;a href=&quot;https://blog.founderchip.com/?id=564#comment&quot; target=&quot;_blank&quot;&gt;添加评论&lt;/a&gt;(0)&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://blog.founderchip.com/?id=564#comment&quot; target=&quot;_blank&quot;&gt;还没有评论，您来说两句？&lt;/a&gt;&lt;/p&gt;</description><pubDate>Thu, 04 Dec 2025 15:26:03 +0800</pubDate></item><item><title>树莓派下安装网络服务器</title><link>https://blog.founderchip.com/?id=563</link><description>&lt;p&gt;&amp;nbsp; &amp;nbsp;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;今天这篇文章介绍下如何在树莓派下安装Nginx网络服务器。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://blog.founderchip.com/zb_users/upload/2025/11/20251118062405_52526.png&quot; title=&quot;cover.png&quot; alt=&quot;cover.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;启动树莓派进入命令行界面，如果你长时间没有更新本地软件列表信息，可以输入以下命令：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;sudo apt-get update&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word; &quot;&gt;列表信息更新后，如果你想对软件进行更新，可以输入以下命令：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;sudo apt-get upgrade&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;如果你不需要更新软件，直接输入以下命令安装Nginx服务器软件：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;sudo apt-get install nginx&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;安装完成后，输入以下命令（查看版本号）：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;nginx -v&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;如果出现类似下面语句（版本可能不同）：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;nginx version: nginx/1.14.2&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;说明Nginx网络服务器已经安装成功。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;此时用网线将电脑与树莓派相连接（设置二者的网络地址在同一子网），在浏览器中输入树莓派的网络地址（比如：192.168.0.81），应该会看到下面的欢迎界面：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://blog.founderchip.com/zb_users/upload/2025/11/20251118062406_59025.png&quot; title=&quot;nginx_welcome.png&quot; alt=&quot;nginx_welcome.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;到这里，已经成功把树莓派改造成一台网络服务器了。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;如果你的系统安装了简易防火墙（UFW,Uncomplicated Firewall），可以输入以下命令列出可用的应用配置文件：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;sudo ufw app list&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;比如Ubuntu系统下可能会列出：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;Nginx Full&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;Nginx HTTP&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;Nginx HTTPS&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;OpenSSH&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;其中：&lt;/span&gt;&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot; style=&quot;list-style-type: square;&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;Nginx Full：启用这个配置文件会同时打开80端口和443端口；&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;Nginx HTTP：启用这个配置文件只会打开80端口；&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;Nginx HTTPS：启用这个配置文件只会打开443端口；&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;OpenSSH：启用这个配置文件会允许SSH服务；&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;如果要启用某个配置，比如Ngnix Full，输入以下命令：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;sudo ufw allow &amp;#39;Nginx Full&amp;#39;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;如果只允许HTTPS协议，则输入以下命令：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;sudo ufw allow &amp;#39;Nginx HTTPS&amp;#39;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;sudo ufw delete allow &amp;#39;Nginx Full&amp;#39;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;检验简易防火墙的规则是否已经生效，输入以下命令：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;sudo ufw status&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;更多关于简易防火墙的命令，请参考：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://blog.founderchip.com/?id=546&quot; target=&quot;_blank&quot; title=&quot;Linux应用开发之Ubuntu的UFW防火墙配置&quot;&gt;Linux应用开发之Ubuntu的UFW防火墙配置&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;如果想手动停止Nginx服务器，输入以下命令：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;sudo systemctl stop nginx&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;再次启动输入以下命令：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;sudo systemctl start nginx&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;重启服务器，输入以下命令：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;sudo systemctl restart nginx&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;如果只是修改了配置文件，Nginx支持无缝加载配置文件，而不必中断现有连接。输入以下命令：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;sudo systemctl reload nginx&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;一般情况下，Nginx开机会自动运行。如果想禁止开机自动运行，输入以下命令：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;sudo systemctl disable nginx&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;启用开机自动运行，输入以下命令：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;sudo systemctl enable nginx&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;查看Nginx服务的状态，输入以下命令：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;sudo systemctl status nginx&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;看到Acitve(Running)字样，说明服务正常运行，如下图所示：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://blog.founderchip.com/zb_users/upload/2025/11/20251118062406_41091.png&quot; title=&quot;nginx_status.png&quot; alt=&quot;nginx_status.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;word-wrap:break-word;&quot;&gt;好了，关于树莓派下安装Nginx网络服务器就先介绍到这里。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Copyright@北岛李工 founderchip 2016~Now&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://blog.founderchip.com/?id=563&quot; target=&quot;_blank&quot;&gt;继续阅读《树莓派下安装网络服务器》的全文内容...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;分类: 嵌入式 | Tags:  | &lt;a href=&quot;https://blog.founderchip.com/?id=563#comment&quot; target=&quot;_blank&quot;&gt;添加评论&lt;/a&gt;(0)&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://blog.founderchip.com/?id=563#comment&quot; target=&quot;_blank&quot;&gt;还没有评论，您来说两句？&lt;/a&gt;&lt;/p&gt;</description><pubDate>Tue, 18 Nov 2025 06:19:26 +0800</pubDate></item><item><title>汇川AM系列控制器结构化文本编程文章归档</title><link>https://blog.founderchip.com/?id=562</link><description>&lt;blockquote style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;创建【归档】类的目的是把相关的文章放到一起，方便大家系统性的学习。&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;img src=&quot;https://blog.founderchip.com/zb_users/upload/2025/11/20251110195655176277581579757.png&quot; title=&quot;cover.png&quot; alt=&quot;cover.png&quot;/&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;本文是关于【汇川AM系列控制器结构化文本编程】相关文章的归档，包括如下内容：&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;a href=&quot;https://blog.founderchip.com/?id=257&quot; target=&quot;_blank&quot; title=&quot;从WiringPi入手学树莓派编程（1）-简介&quot; style=&quot;font-size: 16px; text-decoration-line: none;&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;a href=&quot;https://blog.founderchip.com/?id=564&quot; target=&quot;_blank&quot; title=&quot;汇川中型PLC(AM521)ST语言编程及下载示例&quot; textvalue=&quot;汇川中型PLC(AM521)ST语言编程及下载示例&quot; style=&quot;font-size: 16px; text-decoration: none;&quot;&gt;&lt;span style=&quot;font-size: 16px; text-decoration: none;&quot;&gt;汇川中型PLC(AM521)ST语言编程及下载示例&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;a href=&quot;https://blog.founderchip.com/?id=558&quot; target=&quot;_blank&quot; title=&quot;复杂数据类型(3)——基于汇川AM系列控制器的结构化文本语言编程&quot; textvalue=&quot;复杂数据类型(3)——基于汇川AM系列控制器的结构化文本语言编程&quot; style=&quot;font-size: 16px; text-decoration: none;&quot;&gt;&lt;span style=&quot;font-size: 16px; text-decoration: none;&quot;&gt;复杂数据类型(3)——基于汇川AM系列控制器的结构化文本语言编程&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;a href=&quot;https://blog.founderchip.com/?id=557&quot; target=&quot;_blank&quot; title=&quot;复杂数据类型(2)——基于汇川AM系列PLC的结构化文本语言编程&quot; textvalue=&quot;复杂数据类型(2)——基于汇川AM系列PLC的结构化文本语言编程&quot; style=&quot;font-size: 16px; text-decoration: none;&quot;&gt;&lt;span style=&quot;font-size: 16px; text-decoration: none;&quot;&gt;复杂数据类型(2)——基于汇川AM系列PLC的结构化文本语言编程&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;a href=&quot;https://blog.founderchip.com/?id=556&quot; target=&quot;_blank&quot; title=&quot;复杂数据类型(1)——基于汇川AM系列控制器的结构化文本语言编程&quot; textvalue=&quot;复杂数据类型(1)——基于汇川AM系列控制器的结构化文本语言编程&quot; style=&quot;font-size: 16px; text-decoration: none;&quot;&gt;&lt;span style=&quot;font-size: 16px; text-decoration: none;&quot;&gt;复杂数据类型(1)——基于汇川AM系列控制器的结构化文本语言编程&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;a href=&quot;https://blog.founderchip.com/?id=555&quot; target=&quot;_blank&quot; title=&quot;栈(Stack)指令——基于汇川AM系列控制器的结构化文本语言编程&quot; textvalue=&quot;栈(Stack)指令——基于汇川AM系列控制器的结构化文本语言编程&quot; style=&quot;font-size: 16px; text-decoration: none;&quot;&gt;&lt;span style=&quot;font-size: 16px; text-decoration: none;&quot;&gt;栈(Stack)指令——基于汇川AM系列控制器的结构化文本语言编程&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;a href=&quot;https://blog.founderchip.com/?id=554&quot; target=&quot;_blank&quot; title=&quot;队列(FIFO)指令——基于汇川AM系列控制器的结构化文本语言编程&quot; textvalue=&quot;队列(FIFO)指令——基于汇川AM系列控制器的结构化文本语言编程&quot; style=&quot;font-size: 16px; text-decoration: none;&quot;&gt;&lt;span style=&quot;font-size: 16px; text-decoration: none;&quot;&gt;队列(FIFO)指令——基于汇川AM系列控制器的结构化文本语言编程&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;a href=&quot;https://blog.founderchip.com/?id=553&quot; target=&quot;_blank&quot; title=&quot;产生随机数的算法—基于汇川AM系列控制器的结构化文本语言编程&quot; textvalue=&quot;产生随机数的算法—基于汇川AM系列控制器的结构化文本语言编程&quot; style=&quot;font-size: 16px; text-decoration: none;&quot;&gt;&lt;span style=&quot;font-size: 16px; text-decoration: none;&quot;&gt;产生随机数的算法—基于汇川AM系列控制器的结构化文本语言编程&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;a href=&quot;https://blog.founderchip.com/?id=545&quot; target=&quot;_blank&quot; title=&quot;汇川AM系列中型PLC的ST语言编程示例&quot; textvalue=&quot;汇川AM系列中型PLC的ST语言编程示例&quot; style=&quot;font-size: 16px; text-decoration: none;&quot;&gt;&lt;span style=&quot;font-size: 16px; text-decoration: none;&quot;&gt;汇川AM系列中型PLC的ST语言编程示例&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;您还可以扫描下方的二维码关注我们的微信公众号或者小程序【李工谈工控】。&lt;/span&gt;&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;img src=&quot;https://blog.founderchip.com/zb_users/upload/2017/03/20170312214213148932613392377.png&quot; title=&quot;founderchip.png&quot; alt=&quot;founderchip.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;Copyright@北岛李工 founderchip 2016~Now&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://blog.founderchip.com/?id=562&quot; target=&quot;_blank&quot;&gt;继续阅读《汇川AM系列控制器结构化文本编程文章归档》的全文内容...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;分类: 归档 | Tags:  | &lt;a href=&quot;https://blog.founderchip.com/?id=562#comment&quot; target=&quot;_blank&quot;&gt;添加评论&lt;/a&gt;(0)&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://blog.founderchip.com/?id=562#comment&quot; target=&quot;_blank&quot;&gt;还没有评论，您来说两句？&lt;/a&gt;&lt;/p&gt;</description><pubDate>Mon, 10 Nov 2025 19:44:37 +0800</pubDate></item><item><title>Windows环境下使用MinGW-w64和Visual Studio Code搭建开发环境</title><link>https://blog.founderchip.com/?id=561</link><description>&lt;p style=&quot;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 24px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;color: rgba(0, 0, 0, 0.9);font-family: &amp;#39;PingFang SC&amp;#39;, system-ui, -apple-system, BlinkMacSystemFont, &amp;#39;Helvetica Neue&amp;#39;, &amp;#39;Hiragino Sans GB&amp;#39;, &amp;#39;Microsoft YaHei UI&amp;#39;, &amp;#39;Microsoft YaHei&amp;#39;, Arial, sans-serif;font-size: 17px;letter-spacing: 0.544px;text-align: justify;text-wrap-mode: wrap;background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;span style=&quot;-webkit-tap-highlight-color: transparent; padding: 0px; outline: 0px; max-width: 100%; visibility: visible; font-size: 16px; box-sizing: border-box !important; overflow-wrap: break-word !important;&quot;&gt;Windows应用程序开发多数选择Visual Studio集成开发环境。但是我不太想用它，原因之一是它体积庞大（占用几个G的空间）；另一方面我习惯了Linux系统下的编译方式。因此我打算使用MinGW-w64和Visual Studio Code来搭建开发环境。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;section nodeleaf=&quot;&quot; style=&quot;-webkit-tap-highlight-color: transparent;margin: 0px 0px 24px;padding: 0px;outline: 0px;max-width: 100%;color: rgba(0, 0, 0, 0.9);font-family: &amp;#39;PingFang SC&amp;#39;, system-ui, -apple-system, BlinkMacSystemFont, &amp;#39;Helvetica Neue&amp;#39;, &amp;#39;Hiragino Sans GB&amp;#39;, &amp;#39;Microsoft YaHei UI&amp;#39;, &amp;#39;Microsoft YaHei&amp;#39;, Arial, sans-serif;font-size: 17px;letter-spacing: 0.544px;text-wrap-mode: wrap;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;em&gt;&lt;img src=&quot;https://blog.founderchip.com/zb_users/upload/2025/08/20250804144659_23674.png&quot; title=&quot;cover.png&quot; alt=&quot;cover.png&quot;/&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;/section&gt;&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 24px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;color: rgba(0, 0, 0, 0.9);font-family: &amp;#39;PingFang SC&amp;#39;, system-ui, -apple-system, BlinkMacSystemFont, &amp;#39;Helvetica Neue&amp;#39;, &amp;#39;Hiragino Sans GB&amp;#39;, &amp;#39;Microsoft YaHei UI&amp;#39;, &amp;#39;Microsoft YaHei&amp;#39;, Arial, sans-serif;font-size: 17px;letter-spacing: 0.544px;text-align: justify;text-wrap-mode: wrap;background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;span style=&quot;font-weight: bold; -webkit-tap-highlight-color: transparent; padding: 0px; outline: 0px; max-width: 100%; visibility: visible; font-size: 16px; box-sizing: border-box !important; overflow-wrap: break-word !important;&quot;&gt;一、下载工具链&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 24px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;color: rgba(0, 0, 0, 0.9);font-family: &amp;#39;PingFang SC&amp;#39;, system-ui, -apple-system, BlinkMacSystemFont, &amp;#39;Helvetica Neue&amp;#39;, &amp;#39;Hiragino Sans GB&amp;#39;, &amp;#39;Microsoft YaHei UI&amp;#39;, &amp;#39;Microsoft YaHei&amp;#39;, Arial, sans-serif;font-size: 17px;letter-spacing: 0.544px;text-align: justify;text-wrap-mode: wrap;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;span style=&quot;-webkit-tap-highlight-color: transparent; padding: 0px; outline: 0px; max-width: 100%; font-size: 16px; box-sizing: border-box !important; overflow-wrap: break-word !important;&quot;&gt;MinGW(Minimalist GNU for Windows)是一个用于Windows平台的开发工具集，它提供了一组GNU工具和库，可以用于编译和构建本地的Windows应用程序。但是该项目(mingw.org)已经停止，新的改进项目称为“Mingw-w64”。&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 24px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;color: rgba(0, 0, 0, 0.9);font-family: &amp;#39;PingFang SC&amp;#39;, system-ui, -apple-system, BlinkMacSystemFont, &amp;#39;Helvetica Neue&amp;#39;, &amp;#39;Hiragino Sans GB&amp;#39;, &amp;#39;Microsoft YaHei UI&amp;#39;, &amp;#39;Microsoft YaHei&amp;#39;, Arial, sans-serif;font-size: 17px;letter-spacing: 0.544px;text-align: justify;text-wrap-mode: wrap;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;span style=&quot;-webkit-tap-highlight-color: transparent; padding: 0px; outline: 0px; max-width: 100%; font-size: 16px; box-sizing: border-box !important; overflow-wrap: break-word !important;&quot;&gt;Mingw-w64是于2007年与MinGW分道，以提供64位支持和更新的API。从那时起，它获得了广泛的使用和分发。Mingw-w64是头文件、导入库、库和工具的集合，当与编译器工具链（例如GCC或LLVM）结合使用时，为构建本机Windows 应用程序和库提供了完整的开发环境。&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 24px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;color: rgba(0, 0, 0, 0.9);font-family: &amp;#39;PingFang SC&amp;#39;, system-ui, -apple-system, BlinkMacSystemFont, &amp;#39;Helvetica Neue&amp;#39;, &amp;#39;Hiragino Sans GB&amp;#39;, &amp;#39;Microsoft YaHei UI&amp;#39;, &amp;#39;Microsoft YaHei&amp;#39;, Arial, sans-serif;font-size: 17px;letter-spacing: 0.544px;text-align: justify;text-wrap-mode: wrap;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;span style=&quot;-webkit-tap-highlight-color: transparent; padding: 0px; outline: 0px; max-width: 100%; font-size: 16px; box-sizing: border-box !important; overflow-wrap: break-word !important;&quot;&gt;Mingw-w64的官网为www.mingw-w64.org&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 24px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;color: rgba(0, 0, 0, 0.9);font-family: &amp;#39;PingFang SC&amp;#39;, system-ui, -apple-system, BlinkMacSystemFont, &amp;#39;Helvetica Neue&amp;#39;, &amp;#39;Hiragino Sans GB&amp;#39;, &amp;#39;Microsoft YaHei UI&amp;#39;, &amp;#39;Microsoft YaHei&amp;#39;, Arial, sans-serif;font-size: 17px;letter-spacing: 0.544px;text-align: justify;text-wrap-mode: wrap;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;span style=&quot;-webkit-tap-highlight-color: transparent; padding: 0px; outline: 0px; max-width: 100%; font-size: 16px; box-sizing: border-box !important; overflow-wrap: break-word !important;&quot;&gt;在官网的“下载（Download)”下有“预编译工具(Pre-build tools)”和“源代码(Source Code)&amp;quot;两个选项。如果你习惯从源代码编译，可以下载源代码。“预编译工具(Pre-build tools)”中提供了很多选项，根据自己的需要选择。这里我使用MinGW-W64-builds，如下图所示：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;section nodeleaf=&quot;&quot; style=&quot;-webkit-tap-highlight-color: transparent;margin: 0px 0px 24px;padding: 0px;outline: 0px;max-width: 100%;color: rgba(0, 0, 0, 0.9);font-family: &amp;#39;PingFang SC&amp;#39;, system-ui, -apple-system, BlinkMacSystemFont, &amp;#39;Helvetica Neue&amp;#39;, &amp;#39;Hiragino Sans GB&amp;#39;, &amp;#39;Microsoft YaHei UI&amp;#39;, &amp;#39;Microsoft YaHei&amp;#39;, Arial, sans-serif;font-size: 17px;letter-spacing: 0.544px;text-wrap-mode: wrap;background-color: rgb(255, 255, 255);text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;p&gt;&lt;img src=&quot;https://blog.founderchip.com/zb_users/upload/2025/08/20250804115147175427950774662.png&quot; title=&quot;1.png&quot; alt=&quot;1.png&quot;/&gt;&lt;/p&gt;&lt;/section&gt;&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 24px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;color: rgba(0, 0, 0, 0.9);font-family: &amp;#39;PingFang SC&amp;#39;, system-ui, -apple-system, BlinkMacSystemFont, &amp;#39;Helvetica Neue&amp;#39;, &amp;#39;Hiragino Sans GB&amp;#39;, &amp;#39;Microsoft YaHei UI&amp;#39;, &amp;#39;Microsoft YaHei&amp;#39;, Arial, sans-serif;font-size: 17px;letter-spacing: 0.544px;text-align: justify;text-wrap-mode: wrap;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;span style=&quot;-webkit-tap-highlight-color: transparent; padding: 0px; outline: 0px; max-width: 100%; font-size: 16px; box-sizing: border-box !important; overflow-wrap: break-word !important;&quot;&gt;单击进入下载页面，如下图所示：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://blog.founderchip.com/zb_users/upload/2025/08/20250804115244175427956441904.png&quot; title=&quot;2.png&quot; alt=&quot;2.png&quot;/&gt;&lt;/p&gt;&lt;p style=&quot;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 24px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;color: rgba(0, 0, 0, 0.9);font-family: &amp;#39;PingFang SC&amp;#39;, system-ui, -apple-system, BlinkMacSystemFont, &amp;#39;Helvetica Neue&amp;#39;, &amp;#39;Hiragino Sans GB&amp;#39;, &amp;#39;Microsoft YaHei UI&amp;#39;, &amp;#39;Microsoft YaHei&amp;#39;, Arial, sans-serif;font-size: 17px;letter-spacing: 0.544px;text-align: justify;text-wrap-mode: wrap;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;span style=&quot;letter-spacing: 0.544px; font-size: 16px;&quot;&gt;点击”Github&amp;quot;进入下载页面(https://github.com/niXman/mingw-builds-binaries/releases)，选择最新的版本，有如下可选项：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://blog.founderchip.com/zb_users/upload/2025/08/20250804115615175427977595712.png&quot; title=&quot;3.png&quot; alt=&quot;3.png&quot;/&gt;&lt;/p&gt;&lt;p style=&quot;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 24px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;color: rgba(0, 0, 0, 0.9);font-family: &amp;#39;PingFang SC&amp;#39;, system-ui, -apple-system, BlinkMacSystemFont, &amp;#39;Helvetica Neue&amp;#39;, &amp;#39;Hiragino Sans GB&amp;#39;, &amp;#39;Microsoft YaHei UI&amp;#39;, &amp;#39;Microsoft YaHei&amp;#39;, Arial, sans-serif;font-size: 17px;letter-spacing: 0.544px;text-align: justify;text-wrap-mode: wrap;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;span style=&quot;font-size: 16px; letter-spacing: 0.544px;&quot;&gt;其中：&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;list-style-type: square;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p style=&quot;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;span style=&quot;-webkit-tap-highlight-color: transparent; padding: 0px; outline: 0px; max-width: 100%; font-size: 16px; box-sizing: border-box !important; overflow-wrap: break-word !important;&quot;&gt;i686和x86_64是控制器的架构，前者是32位，后者是64位（适配相应的操作系统）；&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style=&quot;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;span style=&quot;-webkit-tap-highlight-color: transparent; padding: 0px; outline: 0px; max-width: 100%; font-size: 16px; box-sizing: border-box !important; overflow-wrap: break-word !important;&quot;&gt;15.1.0是版本号（GCC的版本号）；&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style=&quot;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;span style=&quot;-webkit-tap-highlight-color: transparent; padding: 0px; outline: 0px; max-width: 100%; font-size: 16px; box-sizing: border-box !important; overflow-wrap: break-word !important;&quot;&gt;mcf代表对多核原子操作（Multi-Core atomics） 的支持，更具体地说是指包含了 &amp;quot;mcfgthreads&amp;quot; 库；&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style=&quot;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;span style=&quot;-webkit-tap-highlight-color: transparent; padding: 0px; outline: 0px; max-width: 100%; font-size: 16px; box-sizing: border-box !important; overflow-wrap: break-word !important;&quot;&gt;posix是“Portable Operating System Interface”的缩写，即“可移植操纵操作系统接口”多用在类似Unix系统（如Linux和macOS）设计的API风格;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style=&quot;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;span style=&quot;-webkit-tap-highlight-color: transparent; padding: 0px; outline: 0px; max-width: 100%; font-size: 16px; box-sizing: border-box !important; overflow-wrap: break-word !important;&quot;&gt;win32：面向Windows系统；&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style=&quot;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;span style=&quot;-webkit-tap-highlight-color: transparent; padding: 0px; outline: 0px; max-width: 100%; font-size: 16px; box-sizing: border-box !important; overflow-wrap: break-word !important;&quot;&gt;sjlj：表示这个工具链使用“Setjmp/Longjmp”异常处理机制。SJLJ是一种更传统的异常处理方式，它通常用于那些不支持或不完全支持Windows结构化异常处理（SEH）的操作系统；&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style=&quot;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;span style=&quot;-webkit-tap-highlight-color: transparent; padding: 0px; outline: 0px; max-width: 100%; font-size: 16px; box-sizing: border-box !important; overflow-wrap: break-word !important;&quot;&gt;seh：表示这个工具链使用Windows的结构化异常处理（Structured Exception Handling, SEH）；&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style=&quot;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;span style=&quot;-webkit-tap-highlight-color: transparent; padding: 0px; outline: 0px; max-width: 100%; font-size: 16px; box-sizing: border-box !important; overflow-wrap: break-word !important;&quot;&gt;ucrt是Universal C Runtime的缩写，它是Windows10及更高版本中包含的一个新运行时库。它提供了与操作系统更紧密集成的API，并通常用于更现代的Windows应用程序；&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style=&quot;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;span style=&quot;-webkit-tap-highlight-color: transparent; padding: 0px; outline: 0px; max-width: 100%; letter-spacing: 0.034em; background-color: transparent; font-size: 16px; box-sizing: border-box !important; overflow-wrap: break-word !important;&quot;&gt;msvcrt是Microsoft C Runtime的缩写，它是Microsoft提供的传统C运行时库；&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;span style=&quot;-webkit-tap-highlight-color: transparent; padding: 0px; outline: 0px; max-width: 100%; font-size: 16px; box-sizing: border-box !important; overflow-wrap: break-word !important;&quot;&gt;&lt;br style=&quot;-webkit-tap-highlight-color: transparent;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style=&quot;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 24px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;color: rgba(0, 0, 0, 0.9);font-family: &amp;#39;PingFang SC&amp;#39;, system-ui, -apple-system, BlinkMacSystemFont, &amp;#39;Helvetica Neue&amp;#39;, &amp;#39;Hiragino Sans GB&amp;#39;, &amp;#39;Microsoft YaHei UI&amp;#39;, &amp;#39;Microsoft YaHei&amp;#39;, Arial, sans-serif;font-size: 17px;letter-spacing: 0.544px;text-align: justify;text-wrap-mode: wrap;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;span style=&quot;-webkit-tap-highlight-color: transparent; padding: 0px; outline: 0px; max-width: 100%; font-size: 16px; box-sizing: border-box !important; overflow-wrap: break-word !important;&quot;&gt;如果你的目标平台是Windows10或更高版本，并且你希望利用最新的API和功能，ucrt可能是一个好选择。使用ucrt的库通常比使用msvcrt的库更小，因为它们不包含一些旧的、不再需要的API。&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 24px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;color: rgba(0, 0, 0, 0.9);font-family: &amp;#39;PingFang SC&amp;#39;, system-ui, -apple-system, BlinkMacSystemFont, &amp;#39;Helvetica Neue&amp;#39;, &amp;#39;Hiragino Sans GB&amp;#39;, &amp;#39;Microsoft YaHei UI&amp;#39;, &amp;#39;Microsoft YaHei&amp;#39;, Arial, sans-serif;font-size: 17px;letter-spacing: 0.544px;text-align: justify;text-wrap-mode: wrap;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;span style=&quot;-webkit-tap-highlight-color: transparent; padding: 0px; outline: 0px; max-width: 100%; font-size: 16px; box-sizing: border-box !important; overflow-wrap: break-word !important;&quot;&gt;msvcrt提供了广泛的API支持，包括一些旧的、可能不再常用的API。如果你的代码依赖于msvcrt特有的API，或者你需要确保你的程序能在较旧的Windows版本上运行，msvcrt可能更适合你。&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;list-style-type: square;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p style=&quot;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;span style=&quot;-webkit-tap-highlight-color: transparent; padding: 0px; outline: 0px; max-width: 100%; font-size: 16px; box-sizing: border-box !important; overflow-wrap: break-word !important;&quot;&gt;rt_v12：“runtime version”，即运行时库版本号;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style=&quot;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;span style=&quot;-webkit-tap-highlight-color: transparent; padding: 0px; outline: 0px; max-width: 100%; font-size: 16px; box-sizing: border-box !important; overflow-wrap: break-word !important;&quot;&gt;.7z：文件的压缩格式；&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style=&quot;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 24px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;color: rgba(0, 0, 0, 0.9);font-family: &amp;#39;PingFang SC&amp;#39;, system-ui, -apple-system, BlinkMacSystemFont, &amp;#39;Helvetica Neue&amp;#39;, &amp;#39;Hiragino Sans GB&amp;#39;, &amp;#39;Microsoft YaHei UI&amp;#39;, &amp;#39;Microsoft YaHei&amp;#39;, Arial, sans-serif;font-size: 17px;letter-spacing: 0.544px;text-align: justify;text-wrap-mode: wrap;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;span style=&quot;-webkit-tap-highlight-color: transparent; padding: 0px; outline: 0px; max-width: 100%; font-size: 16px; box-sizing: border-box !important; overflow-wrap: break-word !important;&quot;&gt;这里我选择“&lt;span textstyle=&quot;&quot; style=&quot;-webkit-tap-highlight-color: transparent; padding: 0px; outline: 0px; max-width: 100%; background-color: #A5C8FF; font-size: 16px;&quot;&gt;x86_64-15.1.0-release-posix-seh-ucrt-rt_v12-rev0.7z&lt;/span&gt;”，将其下载后解压缩，内有mingw64文件夹，将其放到C盘根目录下，即存在C:\mingw64\&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 24px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;color: rgba(0, 0, 0, 0.9);font-family: &amp;#39;PingFang SC&amp;#39;, system-ui, -apple-system, BlinkMacSystemFont, &amp;#39;Helvetica Neue&amp;#39;, &amp;#39;Hiragino Sans GB&amp;#39;, &amp;#39;Microsoft YaHei UI&amp;#39;, &amp;#39;Microsoft YaHei&amp;#39;, Arial, sans-serif;font-size: 17px;letter-spacing: 0.544px;text-align: justify;text-wrap-mode: wrap;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;span style=&quot;font-weight: bold; -webkit-tap-highlight-color: transparent; padding: 0px; outline: 0px; max-width: 100%; font-size: 16px; box-sizing: border-box !important; overflow-wrap: break-word !important;&quot;&gt;二、配置环境变量&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 24px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;color: rgba(0, 0, 0, 0.9);font-family: &amp;#39;PingFang SC&amp;#39;, system-ui, -apple-system, BlinkMacSystemFont, &amp;#39;Helvetica Neue&amp;#39;, &amp;#39;Hiragino Sans GB&amp;#39;, &amp;#39;Microsoft YaHei UI&amp;#39;, &amp;#39;Microsoft YaHei&amp;#39;, Arial, sans-serif;font-size: 17px;letter-spacing: 0.544px;text-align: justify;text-wrap-mode: wrap;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;span style=&quot;-webkit-tap-highlight-color: transparent; padding: 0px; outline: 0px; max-width: 100%; font-size: 16px; box-sizing: border-box !important; overflow-wrap: break-word !important;&quot;&gt;与在Linux下搭建开发环境类似，这里也许需要修改环境变量。&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 24px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;color: rgba(0, 0, 0, 0.9);font-family: &amp;#39;PingFang SC&amp;#39;, system-ui, -apple-system, BlinkMacSystemFont, &amp;#39;Helvetica Neue&amp;#39;, &amp;#39;Hiragino Sans GB&amp;#39;, &amp;#39;Microsoft YaHei UI&amp;#39;, &amp;#39;Microsoft YaHei&amp;#39;, Arial, sans-serif;font-size: 17px;letter-spacing: 0.544px;text-align: justify;text-wrap-mode: wrap;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;span style=&quot;-webkit-tap-highlight-color: transparent; padding: 0px; outline: 0px; max-width: 100%; font-size: 16px; box-sizing: border-box !important; overflow-wrap: break-word !important;&quot;&gt;选中“我的电脑”右键单击，在菜单中选择“属性”-&amp;gt;“高级系统设置”-&amp;gt;“环境变量”，如下图所示：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://blog.founderchip.com/zb_users/upload/2025/08/20250804144659_60864.png&quot; title=&quot;4.png&quot; alt=&quot;4.png&quot;/&gt;&lt;/p&gt;&lt;p style=&quot;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 24px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;color: rgba(0, 0, 0, 0.9);font-family: &amp;#39;PingFang SC&amp;#39;, system-ui, -apple-system, BlinkMacSystemFont, &amp;#39;Helvetica Neue&amp;#39;, &amp;#39;Hiragino Sans GB&amp;#39;, &amp;#39;Microsoft YaHei UI&amp;#39;, &amp;#39;Microsoft YaHei&amp;#39;, Arial, sans-serif;font-size: 17px;letter-spacing: 0.544px;text-align: justify;text-wrap-mode: wrap;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;span style=&quot;font-size: 16px; letter-spacing: 0.544px;&quot;&gt;在弹出的对话框总选择“系统变量”-&amp;gt;“Path”，打击“编辑”按钮，如下图所示：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;section nodeleaf=&quot;&quot; style=&quot;-webkit-tap-highlight-color: transparent;margin: 0px 0px 24px;padding: 0px;outline: 0px;max-width: 100%;color: rgba(0, 0, 0, 0.9);font-family: &amp;#39;PingFang SC&amp;#39;, system-ui, -apple-system, BlinkMacSystemFont, &amp;#39;Helvetica Neue&amp;#39;, &amp;#39;Hiragino Sans GB&amp;#39;, &amp;#39;Microsoft YaHei UI&amp;#39;, &amp;#39;Microsoft YaHei&amp;#39;, Arial, sans-serif;font-size: 17px;letter-spacing: 0.544px;text-wrap-mode: wrap;background-color: rgb(255, 255, 255);text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;p&gt;&lt;img src=&quot;https://blog.founderchip.com/zb_users/upload/2025/08/20250804144659_94972.png&quot; title=&quot;5.png&quot; alt=&quot;5.png&quot;/&gt;&lt;/p&gt;&lt;/section&gt;&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 24px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;color: rgba(0, 0, 0, 0.9);font-family: &amp;#39;PingFang SC&amp;#39;, system-ui, -apple-system, BlinkMacSystemFont, &amp;#39;Helvetica Neue&amp;#39;, &amp;#39;Hiragino Sans GB&amp;#39;, &amp;#39;Microsoft YaHei UI&amp;#39;, &amp;#39;Microsoft YaHei&amp;#39;, Arial, sans-serif;font-size: 17px;letter-spacing: 0.544px;text-align: justify;text-wrap-mode: wrap;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;span style=&quot;-webkit-tap-highlight-color: transparent; padding: 0px; outline: 0px; max-width: 100%; font-size: 16px; box-sizing: border-box !important; overflow-wrap: break-word !important;&quot;&gt;在其中添加工具链的路径C:\mingw64\bin，如下图所示：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://blog.founderchip.com/zb_users/upload/2025/08/20250804144659_68513.png&quot; title=&quot;6.png&quot; alt=&quot;6.png&quot;/&gt;&lt;/p&gt;&lt;p style=&quot;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 24px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;color: rgba(0, 0, 0, 0.9);font-family: &amp;#39;PingFang SC&amp;#39;, system-ui, -apple-system, BlinkMacSystemFont, &amp;#39;Helvetica Neue&amp;#39;, &amp;#39;Hiragino Sans GB&amp;#39;, &amp;#39;Microsoft YaHei UI&amp;#39;, &amp;#39;Microsoft YaHei&amp;#39;, Arial, sans-serif;font-size: 17px;letter-spacing: 0.544px;text-align: justify;text-wrap-mode: wrap;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;span style=&quot;font-size: 16px; letter-spacing: 0.544px;&quot;&gt;至此工具链安装完成。检验一下：&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 24px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;color: rgba(0, 0, 0, 0.9);font-family: &amp;#39;PingFang SC&amp;#39;, system-ui, -apple-system, BlinkMacSystemFont, &amp;#39;Helvetica Neue&amp;#39;, &amp;#39;Hiragino Sans GB&amp;#39;, &amp;#39;Microsoft YaHei UI&amp;#39;, &amp;#39;Microsoft YaHei&amp;#39;, Arial, sans-serif;font-size: 17px;letter-spacing: 0.544px;text-align: justify;text-wrap-mode: wrap;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;span style=&quot;-webkit-tap-highlight-color: transparent; padding: 0px; outline: 0px; max-width: 100%; font-size: 16px; box-sizing: border-box !important; overflow-wrap: break-word !important;&quot;&gt;打开命令行，输入：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;section class=&quot;code-snippet__fix code-snippet__js&quot; style=&quot;-webkit-tap-highlight-color: transparent;margin: 0px 0px 24px;padding: 0px;outline: 0px;max-width: 1000%;color: rgb(51, 51, 51);position: relative;background-color: rgba(0, 0, 0, 0.03);border: 1px solid rgb(240, 240, 240);border-radius: 2px;display: flex;line-height: 26px;font-family: &amp;#39;PingFang SC&amp;#39;, system-ui, -apple-system, BlinkMacSystemFont, &amp;#39;Helvetica Neue&amp;#39;, &amp;#39;Hiragino Sans GB&amp;#39;, &amp;#39;Microsoft YaHei UI&amp;#39;, &amp;#39;Microsoft YaHei&amp;#39;, Arial, sans-serif;letter-spacing: 0.544px;text-align: justify;text-wrap-mode: wrap;box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;pre data-lang=&quot;nginx&quot; style=&quot;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 1em 1em 1em 0px;outline: 0px;max-width: 1000%;overflow-x: auto;white-space: normal;flex: 1 1 0%;box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;gcc&amp;nbsp;-v&lt;br/&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/section&gt;&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 24px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;color: rgba(0, 0, 0, 0.9);font-family: &amp;#39;PingFang SC&amp;#39;, system-ui, -apple-system, BlinkMacSystemFont, &amp;#39;Helvetica Neue&amp;#39;, &amp;#39;Hiragino Sans GB&amp;#39;, &amp;#39;Microsoft YaHei UI&amp;#39;, &amp;#39;Microsoft YaHei&amp;#39;, Arial, sans-serif;font-size: 17px;letter-spacing: 0.544px;text-align: justify;text-wrap-mode: wrap;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;span style=&quot;-webkit-tap-highlight-color: transparent; padding: 0px; outline: 0px; max-width: 100%; font-size: 16px; box-sizing: border-box !important; overflow-wrap: break-word !important;&quot;&gt;出现类似下面的图片说明已经成功安装：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://blog.founderchip.com/zb_users/upload/2025/08/20250804144659_84056.png&quot; title=&quot;7.png&quot; alt=&quot;7.png&quot;/&gt;&lt;/p&gt;&lt;p style=&quot;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 24px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;color: rgba(0, 0, 0, 0.9);font-family: &amp;#39;PingFang SC&amp;#39;, system-ui, -apple-system, BlinkMacSystemFont, &amp;#39;Helvetica Neue&amp;#39;, &amp;#39;Hiragino Sans GB&amp;#39;, &amp;#39;Microsoft YaHei UI&amp;#39;, &amp;#39;Microsoft YaHei&amp;#39;, Arial, sans-serif;font-size: 17px;letter-spacing: 0.544px;text-align: justify;text-wrap-mode: wrap;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;span style=&quot;font-weight: bold; -webkit-tap-highlight-color: transparent; padding: 0px; outline: 0px; max-width: 100%; font-size: 16px; box-sizing: border-box !important; overflow-wrap: break-word !important;&quot;&gt;三、解决不能使用make命令的问题&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 24px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;color: rgba(0, 0, 0, 0.9);font-family: &amp;#39;PingFang SC&amp;#39;, system-ui, -apple-system, BlinkMacSystemFont, &amp;#39;Helvetica Neue&amp;#39;, &amp;#39;Hiragino Sans GB&amp;#39;, &amp;#39;Microsoft YaHei UI&amp;#39;, &amp;#39;Microsoft YaHei&amp;#39;, Arial, sans-serif;font-size: 17px;letter-spacing: 0.544px;text-align: justify;text-wrap-mode: wrap;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;span style=&quot;-webkit-tap-highlight-color: transparent; padding: 0px; outline: 0px; max-width: 100%; font-size: 16px; box-sizing: border-box !important; overflow-wrap: break-word !important;&quot;&gt;在MinGW-W64中，make是一个自动化编译构建工具，并无32位64位之分，所以MinGW-W64直接沿用了32位版本中的make工具，为了表明这个原因，make工具的名称变为mingw32-make.exe。因此我们在命令行使用的时候不能直接使用make命令，而需要输入完整的名称：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;section class=&quot;code-snippet__fix code-snippet__js&quot; style=&quot;-webkit-tap-highlight-color: transparent;margin: 0px 0px 24px;padding: 0px;outline: 0px;max-width: 1000%;color: rgb(51, 51, 51);position: relative;background-color: rgba(0, 0, 0, 0.03);border: 1px solid rgb(240, 240, 240);border-radius: 2px;display: flex;line-height: 26px;font-family: &amp;#39;PingFang SC&amp;#39;, system-ui, -apple-system, BlinkMacSystemFont, &amp;#39;Helvetica Neue&amp;#39;, &amp;#39;Hiragino Sans GB&amp;#39;, &amp;#39;Microsoft YaHei UI&amp;#39;, &amp;#39;Microsoft YaHei&amp;#39;, Arial, sans-serif;letter-spacing: 0.544px;text-align: justify;text-wrap-mode: wrap;box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;pre data-lang=&quot;go&quot; style=&quot;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 1em 1em 1em 0px;outline: 0px;max-width: 1000%;overflow-x: auto;white-space: normal;flex: 1 1 0%;box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;mingw32-make&amp;nbsp;-v&lt;br/&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/section&gt;&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 24px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;color: rgba(0, 0, 0, 0.9);font-family: &amp;#39;PingFang SC&amp;#39;, system-ui, -apple-system, BlinkMacSystemFont, &amp;#39;Helvetica Neue&amp;#39;, &amp;#39;Hiragino Sans GB&amp;#39;, &amp;#39;Microsoft YaHei UI&amp;#39;, &amp;#39;Microsoft YaHei&amp;#39;, Arial, sans-serif;font-size: 17px;letter-spacing: 0.544px;text-align: justify;text-wrap-mode: wrap;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;span style=&quot;-webkit-tap-highlight-color: transparent; padding: 0px; outline: 0px; max-width: 100%; font-size: 16px; box-sizing: border-box !important; overflow-wrap: break-word !important;&quot;&gt;如下图所示：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://blog.founderchip.com/zb_users/upload/2025/08/20250804144659_77302.png&quot; title=&quot;8.png&quot; alt=&quot;8.png&quot;/&gt;&lt;/p&gt;&lt;p style=&quot;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 24px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;color: rgba(0, 0, 0, 0.9);font-family: &amp;#39;PingFang SC&amp;#39;, system-ui, -apple-system, BlinkMacSystemFont, &amp;#39;Helvetica Neue&amp;#39;, &amp;#39;Hiragino Sans GB&amp;#39;, &amp;#39;Microsoft YaHei UI&amp;#39;, &amp;#39;Microsoft YaHei&amp;#39;, Arial, sans-serif;font-size: 17px;letter-spacing: 0.544px;text-align: justify;text-wrap-mode: wrap;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;span style=&quot;font-size: 16px; letter-spacing: 0.544px;&quot;&gt;这样不太方便，我们可以把&lt;/span&gt;&lt;span style=&quot;font-size: 16px; letter-spacing: 0.544px;&quot;&gt;mingw32-make.exe文件复制一份，然后将副本重命名为make即可，如下图所示：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://blog.founderchip.com/zb_users/upload/2025/08/20250804144659_41243.png&quot; title=&quot;9.png&quot; alt=&quot;9.png&quot;/&gt;&lt;/p&gt;&lt;p style=&quot;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 24px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;color: rgba(0, 0, 0, 0.9);font-family: &amp;#39;PingFang SC&amp;#39;, system-ui, -apple-system, BlinkMacSystemFont, &amp;#39;Helvetica Neue&amp;#39;, &amp;#39;Hiragino Sans GB&amp;#39;, &amp;#39;Microsoft YaHei UI&amp;#39;, &amp;#39;Microsoft YaHei&amp;#39;, Arial, sans-serif;font-size: 17px;letter-spacing: 0.544px;text-align: justify;text-wrap-mode: wrap;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;span style=&quot;font-size: 16px; font-weight: bold; letter-spacing: 0.544px;&quot;&gt;四、Visual Studio Code的安装&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 24px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;color: rgba(0, 0, 0, 0.9);font-family: &amp;#39;PingFang SC&amp;#39;, system-ui, -apple-system, BlinkMacSystemFont, &amp;#39;Helvetica Neue&amp;#39;, &amp;#39;Hiragino Sans GB&amp;#39;, &amp;#39;Microsoft YaHei UI&amp;#39;, &amp;#39;Microsoft YaHei&amp;#39;, Arial, sans-serif;font-size: 17px;letter-spacing: 0.544px;text-align: justify;text-wrap-mode: wrap;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important&quot;&gt;&lt;span style=&quot;-webkit-tap-highlight-color: transparent; padding: 0px; outline: 0px; max-width: 100%; font-size: 16px; box-sizing: border-box !important; overflow-wrap: break-word !important;&quot;&gt;到官网（https://code.visualstudio.com）下载安装即可。安装完成后，安装C/C++相关的插件。&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-webkit-tap-highlight-color: transparent; margin-top: 0px; margin-bottom: 24px; padding: 0px; outline: 0px; max-width: 100%; min-height: 1em; color: rgba(0, 0, 0, 0.9); font-family: &amp;quot;PingFang SC&amp;quot;, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, Arial, sans-serif; font-size: 17px; letter-spacing: 0.544px; text-align: justify; text-wrap-mode: wrap; background-color: rgb(255, 255, 255); box-sizing: border-box !important; overflow-wrap: break-word !important;&quot;&gt;&lt;span style=&quot;-webkit-tap-highlight-color: transparent; padding: 0px; outline: 0px; max-width: 100%; font-size: 16px; box-sizing: border-box !important; overflow-wrap: break-word !important;&quot;&gt;好了，这次我们完成了Windows下的开发环境搭建，可以使用类似Linux的风格来开发Windows平台的应用程序了。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Copyright@北岛李工 founderchip 2016~Now&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://blog.founderchip.com/?id=561&quot; target=&quot;_blank&quot;&gt;继续阅读《Windows环境下使用MinGW-w64和Visual Studio Code搭建开发环境》的全文内容...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;分类: 上位机/视觉 | Tags: &lt;a href=&quot;https://blog.founderchip.com/?tags=868&quot;&gt;Mingw-w64&lt;/a&gt;， | &lt;a href=&quot;https://blog.founderchip.com/?id=561#comment&quot; target=&quot;_blank&quot;&gt;添加评论&lt;/a&gt;(0)&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://blog.founderchip.com/?id=561#comment&quot; target=&quot;_blank&quot;&gt;还没有评论，您来说两句？&lt;/a&gt;&lt;/p&gt;</description><pubDate>Fri, 01 Aug 2025 09:04:00 +0800</pubDate></item><item><title>将命令行(cmd)添加到Windows右键菜单的方法</title><link>https://blog.founderchip.com/?id=560</link><description>&lt;p&gt;&lt;img src=&quot;https://blog.founderchip.com/zb_users/upload/2025/07/20250724134542_57880.png&quot; title=&quot;cover.png&quot; alt=&quot;cover.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;新建文本文件，复制如下内容：&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Windows Registry Editor Version 5.00&lt;/p&gt;&lt;p&gt;[HKEY_CLASSES_ROOT\Directory\Background\shell\OpenCmdHere]&lt;/p&gt;&lt;p&gt;@=&amp;quot;在此处打开CMD&amp;quot;&lt;/p&gt;&lt;p&gt;&amp;quot;Icon&amp;quot;=&amp;quot;cmd.exe&amp;quot;&lt;/p&gt;&lt;p&gt;[HKEY_CLASSES_ROOT\Directory\Background\shell\OpenCmdHere\command]&lt;/p&gt;&lt;p&gt;@=&amp;quot;cmd.exe /s /k pushd \&amp;quot;%V\&amp;quot;&amp;quot;&lt;/p&gt;&lt;p&gt;[HKEY_CLASSES_ROOT\Directory\shell\OpenCmdHere]&lt;/p&gt;&lt;p&gt;@=&amp;quot;在此处打开CMD&amp;quot;&lt;/p&gt;&lt;p&gt;&amp;quot;Icon&amp;quot;=&amp;quot;cmd.exe&amp;quot;&lt;/p&gt;&lt;p&gt;[HKEY_CLASSES_ROOT\Directory\shell\OpenCmdHere\command]&lt;/p&gt;&lt;p&gt;@=&amp;quot;cmd.exe /s /k pushd \&amp;quot;%V\&amp;quot;&amp;quot;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;其中：&lt;/span&gt;&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot; style=&quot;list-style-type: square;&quot;&gt;&lt;li&gt;&lt;p&gt;@=&amp;quot;在此处打开CMD&amp;quot;：右键菜单显示的文字，可自定义；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;cmd.exe /s /k pushd \&amp;quot;%V\&amp;quot;：自动切换到当前目录路径&amp;nbsp;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;文件另存为 .reg 格式（如 add_cmd_here.reg），编码选择 UTF-16 LE（否则中文乱码）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;双击运行 → 确认导入注册表&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;右键菜单立即可见新选项（无需重启）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;Copyright@北岛李工 founderchip 2016~Now&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://blog.founderchip.com/?id=560&quot; target=&quot;_blank&quot;&gt;继续阅读《将命令行(cmd)添加到Windows右键菜单的方法》的全文内容...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;分类: 上位机/视觉 | Tags:  | &lt;a href=&quot;https://blog.founderchip.com/?id=560#comment&quot; target=&quot;_blank&quot;&gt;添加评论&lt;/a&gt;(0)&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://blog.founderchip.com/?id=560#comment&quot; target=&quot;_blank&quot;&gt;还没有评论，您来说两句？&lt;/a&gt;&lt;/p&gt;</description><pubDate>Fri, 01 Aug 2025 08:33:53 +0800</pubDate></item><item><title>解决putty能接收数据但无法输入命令的问题</title><link>https://blog.founderchip.com/?id=559</link><description>&lt;p&gt;&lt;img src=&quot;https://blog.founderchip.com/zb_users/upload/2025/07/20250724134542_57880.png&quot; title=&quot;cover.png&quot; alt=&quot;cover.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgba(0, 0, 0, 0.9); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, Arial, sans-serif; font-size: 17px; text-align: justify; text-wrap-mode: wrap; background-color: #FFFFFF;&quot;&gt;最近在乌班图（Ubuntu）下调试嵌入式开发板，使用putty接收调试串口的数据。putty能正常接收到板子的启动信息，但是无法输入命令。经研究发现串口的控制参数中启用了流控制，而实际上仅接了三根线（发送、接收和地线）。将串口配置中流控制（Flow control）设置为“无(None)”即可正常输入命令，问题解决。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://blog.founderchip.com/zb_users/upload/2025/07/20250724134530_87709.png&quot; title=&quot;1.png&quot; alt=&quot;1.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;Copyright@北岛李工 founderchip 2016~Now&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://blog.founderchip.com/?id=559&quot; target=&quot;_blank&quot;&gt;继续阅读《解决putty能接收数据但无法输入命令的问题》的全文内容...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;分类: 嵌入式 | Tags: &lt;a href=&quot;https://blog.founderchip.com/?tags=867&quot;&gt;putty&lt;/a&gt;， | &lt;a href=&quot;https://blog.founderchip.com/?id=559#comment&quot; target=&quot;_blank&quot;&gt;添加评论&lt;/a&gt;(0)&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://blog.founderchip.com/?id=559#comment&quot; target=&quot;_blank&quot;&gt;还没有评论，您来说两句？&lt;/a&gt;&lt;/p&gt;</description><pubDate>Thu, 24 Jul 2025 13:23:07 +0800</pubDate></item></channel></rss><!--8.57 ms , 7 queries , 1124kb memory , 0 error-->