第7章_低成本 Modbus 传感器的实现

文章目录

  • 第7章 低成本 Modbus 传感器的实现
    • 7.1 硬件资源介绍与接线
    • 7.2 开发环境搭建
    • 7.3 创建与体验第 1 个工程
      • 7.3.1 创建工程
      • 7.3.2 配置调试器
      • 7.3.3 配置 GPIO 操作 LED
    • 7.4 UART 编程
      • 7.4.1 使用 STM32CubeMX 进行配置
        • 1.UART1
        • 2.配置 RS485方向引脚
      • 7.4.2 封装 UART
      • 7.4.3 上机实验
        • 1. 硬件连接
        • 2. STM32H5 程序改造
        • 3.STM32F030程序调试
    • 7.5 libmodbus 移植
      • 7.5.1 移植 libmodbus
      • 7.5.2 使用 modbus 控制设备
      • 7.5.3 上机实验
    • 7.6 传感器设计
      • 7.6.1 设计思路
      • 7.6.2 三款传感器功能及所用引脚
      • 7.6.3 点表设计
        • 1.开关量模块(SWITCH)
        • 2. 环境监测模块(ENV_MONITOR)
      • 7.6.4 开关量传感器程序设计
      • 7.6.5 环境监测传感器程序设计
        • 1. 硬件电路
        • 2. 配置 GPIO 和 ADC
        • 3. 读取 ADC 的关键代码
      • 7.6.6 温湿度传感器程序设计
        • 1. 硬件电路与操作方法
        • 2. 配置 I2C
        • 3. 读取温湿度关键代码

第7章 低成本 Modbus 传感器的实现

7.1 硬件资源介绍与接线

我们的 Modbus 传感器开发套件共有三个, 三个板子的使用的主控方案是 STM32F030芯片,硬件接口资源如下图所示:

img

开关量模块

img

温湿度变送器模块

img

环境检测模块

7.2 开发环境搭建

在前面我们已经安装了 Keil MDK、STM32CubeMX、STM32CubeProgrammer、ST-Link 驱 动、 CH340 驱动。因此在这里我们只需给 Keil MDK 安装 STM32F030 对应的 PACK 即可对改 芯片进行编码开发。

安装 PACK 的方法有两种:

  • 第一种方法:双击运行开发板配套资料中的 Pack 安装包,随后弹出安装界面,按照默 认选项进行安装即可。:

img

  • 第二种方法,在线安装, 下面演示如何在线安装。

打开Keil之后, 点击如下按钮启动“Pack Installer”:

使用 “Pack Installer” 可 以 方 便 的 对 Pack 安 装 和 管 理 。 在 左 上 角 搜 索 框 输 入 “STM32F030”,展开搜索结果,可以看到STM32F030CC,点击右边的简介链接即可跳转 到Pack下载页面,如下图所示。

img

如果跳转网页无法打开,可直接打开 Pack 下载总入口(www.keil.com/dd2/Pack/)。 进入 Pack 下载总入口后,搜索“STM32F030”,找到“STM030CCT”点击, 如下图所示(实 测部分网络环境打开该链接无 Pack 列表,请尝试换个网络环境测试,仍旧不行则使用配 套资料 Pack)。

img

点击会跳转到 pack 包界面,点击右上角的”STM32F0xxDFP“即可跳转到 pack 包下载界面,点击右上角”STM32F0xxDFP“处即可下载 pack 包,如下图所示。

img

img

下载完成得到“Keil.STM32F0xx_DFP.2.1.1.pack”,直接双击该文件,随后弹出安装界 面,按照默认选项进行安装即可。

7.3 创建与体验第 1 个工程

7.3.1 创建工程

启动 STM32CubeMX 后,点击如下图标开始选择 MCU:

img

如下图输入型号“STM32F030CCT”,双击找到的芯片, 开始创建工程:

img

调高 CPU 频率:

img

配置工程, 如下操作:

img

指定代码生成方法, 如下:

img

7.3.2 配置调试器

新建的工程要配置调试器,参考《2.2.3 配置调试器》 。

然后就可以编译程序、烧写运行了。

7.3.3 配置 GPIO 操作 LED

打开位于“5_硬件资料\01_开发板原理图\STM32F030CCT6_SWITCH_V11.pdf”的原理图 文件。

根据开发板原理图可以看到 F030的LED 引脚图如下:

img

可以双击打开工程中如下文件进入STM32CubeMX进行配置:

img

然后如下配置 PB11 、PB12 、PB13 为输出引脚:

img

点击右上角的 “GENERATE CODE”按钮后打开工程。

在main函数的循环里, 增加如下代码:

/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
    /* USER CODE END WHILE */
    /* USER CODE BEGIN 3 */
    /* set LED output high */
    HAL_GPIO_WritePin(GPIOB, GPIO_PIN_11, GPIO_PIN_SET); //LED1
    HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12, GPIO_PIN_SET); //LED2
    HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, GPIO_PIN_SET); //LED3
    HAL_Delay(500);
    /* set LED output low */
    HAL_GPIO_WritePin(GPIOB, GPIO_PIN_11, GPIO_PIN_RESET);//LED1
    HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12, GPIO_PIN_RESET); //LED2
    HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, GPIO_PIN_RESET); //LED3
    HAL_Delay(500);
}

最后编译、烧写、运行, 可以看到开发板的 LED 闪烁。

7.4 UART 编程

7.4.1 使用 STM32CubeMX 进行配置

本节源码为“3_程序源码\01_视频配套的源码\7-5_STM32F030串口编程\demo”。 RS4385接口原理图如下:

img

需要在STM32CubeMX里配置UART1,并且配置PA8为输出引脚。

1.UART1

先使能 UART1:

img

然后使能中断:

img

在前面STM32H5的UART程序里使用了DMA,本节故意不使用DMA而使用纯中断来 实现UART,多学一种编程方法。

2.配置 RS485方向引脚

STM32H5主控板上使用的RS485转换芯片是MAX13487EESA,它会自动切换发送、 接收方向,无需程序进行方向的控制。使用STM32F030制作的“廉价传感器”里,使用 的RS485转换芯片是SIT3088ETK,它需要使用一个GPIO来控制方向,如下图所示:

img

上图中,RS485_CTRL使用的引脚是PA8,所以还需要把它配置为输出引脚,输出低 电平(让SIT3088ETK默认为接收状态) 。如下配置:

img

7.4.2 封装 UART

本节源码为“3_程序源码\01_视频配套的源码\7-5_STM32F030串口编程\demo”。 现场编程。

7.4.3 上机实验

本节源码为“3_程序源码\01_视频配套的源码\7-6_STM32F030 串口测试”,里面有 2 个程序:h5_demo、f030_demo。

要测试 STM32F030 的串口, 只需要把它的 485 接口连接到 PC 去就可以了,但是我们没 有 PC 上使用的“USB 转 485”模块,所以使用 STM32H5 来实现一个“USB 转 485 模块”:

  • 它从 USB 串口读到数据,再从 485 接口发送出去;

  • 它从 485 接口读到数据,再从 USB 串口发送给 PC。

1. 硬件连接

img

2. STM32H5 程序改造

本节源码为“3_程序源码\01_视频配套的源码\7-6_STM32F030串口测试\h5_demo”。

3.STM32F030程序调试

本节源码为“3_程序源码\01_视频配套的源码\7-6_STM32F030串口测试\f030_demo”。

7.5 libmodbus 移植

本节源码为“3_ 程序源码\01_ 视频配套的源码\7-7_STM32F030 上libmodbus 移植 \f030_demo”。

7.5.1 移植 libmodbus

把“7-6_STM32F030串口测试\h5_demo\demo\Middlewares\Third_Party\libmodbus”整 个目录复制到f030_demo中。

在Keil工程中添加代码, 如下:

img

7.5.2 使用 modbus 控制设备

STM32F030作为从设备(sever),编写“Core\Src\freertos.c”:

7.5.3 上机实验

7.6 传感器设计

7.6.1 设计思路

上位机(PC 软件)或中控(STM32H5)通过 modbus 协议访问 STM32F030 传感器时,读 写的是 STM32F030 分配出来的 4 个类型的缓冲区。这里需要解决 2 个问题:

  • 这 4 个类型的缓冲区起始地址、大小分别是多少? 这根据传感器的功能来设置。比如有 2 个按键,那么就可以分配 2 个“只读的位寄存器”(DI)。

  • 这些寄存器的值, 如何跟硬件对应? 比如上位机读 DI 寄存器时, 谁提供这些值?传感 器的程序应该读取按键值,填充 DI 寄存器。

第 1 个步骤,被称为“点表设计”。

7.6.2 三款传感器功能及所用引脚

这 3 款传感器的原理图在网盘如下目录里:

img

它们控制外设所用的引脚,列表如下:

功能使用的引脚描述寄存器类别
ENV_MONITOR 环境监测模块BEEP1PB15高电平发声DO
BEEP2PB14高电平发声DO
LED1PB11低电平发光DO
LED2PB12低电平发光DO
LED3PB13低电平发光DO
OPTO_ADCPA1电压值跟光强成反比AI
RES_ADCPA2电压值跟可调电阻成反比AI
SWITCH开关量模块KEY1PA3低电平表示被按下DI
KEY2PA4低电平表示被按下DI
KEY3PA5低电平表示被按下DI
K1_CTRLPB5高电平使能继电器DO
K2_CTRLPB4高电平使能继电器DO
LED1PB11低电平发光DO
LED2PB12低电平发光DO
LED3PB13低电平发光DO
TEMP_HUMI温湿度模块BEEP1PB15高电平发声DO
BEEP2PB14高电平发声DO
LED1PB11低电平发光DO
LED2PB12低电平发光DO
LED3PB13低电平发光DO
I2C1_SCLPB6可以读到温度、湿度 AIAI
I2C2_SDAPB7可以读到温度、湿度 AIAI

7.6.3 点表设计

所谓点表, 就是一个 modbus 设备,它的地址是什么? 它里面 4 类寄存器的地址、功能 是什么。

在查看点表时,经常碰到“遥测、遥信、遥控、遥调”的概念。它们实质上就是前面 讲解 modbus 时引入的“AI、DI、DO、AO”。这些概念起源于电力系统。

电力领域中四遥系统是指遥测、遥信、遥控、遥调功能系统, 四遥功能是电力监控系 统最基本最重要的功能。具体来说:

  • 遥测(遥测信息,AI):远程测量;远方测量显示诸如电流、电压、功率、压力、温度等 模拟量;

  • 遥信(遥信信息,DI):远程信号;远方监视各类电气开关和设备、机械设备的工作状态 和运转情况状态等;

  • 遥控(遥控信息,DO):远程控制;接受并执行遥控命令,远方控制或保护电气设备及电 气机械化的分合起停等工作状态;

  • 遥调(遥调信息,AO):远程调节;接受并执行遥调命令,远方设定及调整所控设备的工 作参数、标准参数;四遥遥测、遥信、遥控、遥调常常被简称为 AI、DI、DO、AO。

AI、DI、DO、AO 都是英文名称的首字母缩写,A 的英文全称 Analog (模拟量)、D 的英 文全称 Digital (数字量) 、I 的英文全称 Input (输入)、O 的英文全称 Output (输出)。 因此, AI 表示的是模拟信号输出, AO 是模拟信号输入,DI 是数字信号输入, DO 是数字信 号输出。

随着技术不断地进步,现在也有五遥的说法, 即在四遥的基础上加上遥视, 遥视指的 是指利用包括电子技术、计算机技术、自动化技术等监视并记录设备运行情况和环境安全 情况。因此伴随着技术发展, 电力系统中从一遥(遥信 DI)阶段、发展到二遥(遥信 AI、 遥测 DI)、三遥(遥信 AI、遥测 DI 和遥控 DO)、四遥(遥信 AI、遥测 DI、遥控 DO 和遥 调 AO);现在开始四遥向五遥过渡。

原文链接:https://blog.csdn.net/LuohenYJ/article/details/106027626

在阅读点表时,还会碰到下表中的“PLC/组态地址”,或者表中的简称“0x、1x、4x、 3x”, 它们的本质都是用来分辨“AI、AO、DI、DO”四类寄存器:

寄存器种类PLC/组态地址Modbus 寄存器地址范围简称读写状态
线圈状态00001~099990000H~FFFFH0x可读可写
离散输入状态~10001 199990000H~FFFFH1x只读
保持寄存器40001~499990000H~FFFFH4x可读可写
输入寄存器~30001 399990000H~FFFFH3x只读

点表的设计,是完全由开发人员自行定义的。

1.开关量模块(SWITCH)

寄存器说明:

设备地址寄存器地址寄存器类别用途描述
01H0000HDI读取按键 KEY11-被按下
0001HDI读取按键 KEY21-被按下
0002HDI读取按键 KEY31-被按下
0000HDO控制继电器 11-吸合
0001HDO控制继电器 21-吸合
0002HDO控制 LED11-亮
0003HDO控制 LED21-亮
0004HDO控制 LED31-亮
2. 环境监测模块(ENV_MONITOR)

寄存器说明:

设备地址寄存器地址寄存器类别用途描述
02H0000HDO控制蜂鸣器 11-响
0001HDO控制蜂鸣器 21-响
0002HDO控制 LED11-亮
0003HDO控制 LED21-亮
0004HDO控制 LED31-亮
0000HAI读取光敏电压0xfff 对应 3.3V12 位精度
0001HAI可调电阻器电压0xfff 对应 3.3V12 位精度
  1. 温湿度模块(TEMP HUMI)
设备地址寄存器地址寄存器类别用途描述
03H0000HDO控制蜂鸣器 11-响
0001HDO控制蜂鸣器 21-响
0002HDO控制 LED11-亮
0003HDO控制 LED21-亮
0004HDO控制 LED31-亮
0000HAI读取温度单位 0.1 摄氏度 16 位有符号整数
0001HAI读取湿度单位 0.1%RH16 位有符合整数

7.6.4 开关量传感器程序设计

继电器原理图如下:

img

继电器对外的信号有 3 个:

  • COM:公共端,通常是中间的触点, 与常开或常闭触点相连
  • NC(Normally Closed): 常闭接口,继电器吸合前与 COM 连接, 吸合后悬空
  • NO(Normally Open): 常开接口, 继电器吸合前悬空, 吸合后与 COM 连接

开路即通路、断路,闭合指的是开关闭合,也就是说, 在没有任何上电之类的动作时, NC 和 COM 端相当于已经连通。

本节源码为“ 3_ 程 序源 码\01_ 视 频配套 的 源 码\7-9_ 开 关 量 传 感 器 程序 设 计 \f030_demo”。

7.6.5 环境监测传感器程序设计

1. 硬件电路

光敏电路如下, 光照越强,U6 阻值越低,OPTO_ADC 电压值就越低:

img

可调电阻器如下,R33 阻值越大,RES_ADC 电压值越小:

img

本节源码为“3_ 程序源码\01_ 视频配套的源码\7-10_ 环境监测传感器程序设计 \f030_demo”。

2. 配置 GPIO 和 ADC

先在STM32CubmeMX里配置GPIO和ADC 引脚,使能“Discontinuous Conversion Mode ”:

img

3. 读取 ADC 的关键代码
// 1. 检验
HAL_ADCEx_Calibration_Start(&hadc) ;

// 启动、读2次数值
for (int i = 0; i < 2; i++)
{
    HAL_ADC_Start(&hadc);
    if (HAL_OK == HAL_ADC_PollForConversion(&hadc, 100))
    {
    	mb_mapping->tab_input_registers[i] = HAL_ADC_GetValue(&hadc); 
    }
}

7.6.6 温湿度传感器程序设计

本节源码为“ 3_ 程序源码\01_ 视频配套 的源码\7-11_ 温湿度传感器程序设计 \f030_demo”。

1. 硬件电路与操作方法

原理图如下:

img

AHT20 芯片资料在网盘如下目录:

img

AHT20 操作方法如下:

img

详解如下:

  • 发送测量命令:传感器的 VDD 上电后需等待 5ms, 发送写测量命令 0x70 0xAC 0x330x00, 等待 80ms 测量完成;

  • 获取温湿度校准数据: 在等待 80ms 测量完成后, 发送 0x71 读传感器,可获取状态字 Status、温湿度校准数据 SRH[19:0]、ST[19:0]以及校准字 CRC;

  • 根据公式计算温湿度:

img

计算检验码的函数如下:

//**********************************************************//
//CRC校验类型:  CRC8
//多项式:  X8+X5+X4+1
//Poly:0011 0001 0x31
unsigned char Calc_CRC8(unsigned char *message,unsigned char Num)
{
    unsigned char i;
    unsigned char byte;
    unsigned char crc =0xFF;
    for (byte = 0;byte<Num;byte++)
    {
        crc^=(message[byte]);
        for(i=8;i>0;--i)
        {
            if(crc&0x80)
            crc=(crc<<1)^0x31;
            else
            crc=(crc<<1);
        }
    }
    return crc;
}//
**********************************************************//
2. 配置 I2C

img

3. 读取温湿度关键代码

读取一次温湿度值, 耗时至少 80ms。不可能在接收到modbus 请求后再去读温湿度。而 是使用另一个任务不断读取温湿度。

HAL_StatusTypeDef HAL_I2C_Master_Transmit(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t Timeout) ;

HAL_StatusTypeDef HAL_I2C_Master_Receive(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t Timeout) ;

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

已解决javax.security.auth.login.LoginException:登录失败的正确解决方法,亲测有效!!!

已解决javax.security.auth.login.LoginException&#xff1a;登录失败的正确解决方法&#xff0c;亲测有效&#xff01;&#xff01;&#xff01; 目录 问题分析 出现问题的场景 报错原因 解决思路 解决方法 1. 检查用户名和密码 用户名和密码验证 2. 验证配置文件 …

前端面试题(基础篇十二)

一、link标签定义、与import的区别 link 标签定义文档与外部资源的关系。 link 元素是空元素&#xff0c;它仅包含属性。 此元素只能存在于 head 部分&#xff0c;不过它可出现任意数。 link 标签中的 rel 属性定义了当前文档与被链接文档之间的关系。常见的 stylesheet 指的是…

ServletConfig与ServletContext详解

文章目录 概要web.xmlServletConfig介绍ServletConfig实例ServletConfig细节ServletContext介绍ServletContext实例ServletContext细节ServletContext获得服务访问次数&#xff08;可拓展&#xff09;总结 概要 web.xml <?xml version"1.0" encoding"UTF-…

使用uniapp编写微信小程序

使用uniapp编写微信小程序 文章目录 使用uniapp编写微信小程序前言一、项目搭建1.1 创建项目方式1.1.1 HBuilderX工具创建1.1.2 命令行下载1.1.3 直接Gitee下载 1.2 项目文件解构1.2.1 安装依赖1.2.2 项目启动1.2.3 文件结构释义 1.2 引入uni-ui介绍 二、拓展2.1 uni-app使用uc…

谷粒商城实战(045集群学习-elasticsearch(ES)集群)

Java项目《谷粒商城》架构师级Java项目实战&#xff0c;对标阿里P6-P7&#xff0c;全网最强 总时长 104:45:00 共408P 此文章包含第368p-第p369的内容 文章目录 简介集群健康分片新增节点水平扩容问题和解决集群结构测试集群信息 简介 不管用户发给哪个节点&#xff0c;都可以…

Adobe Acrobat Pro或者Adobe Acrobat Reader取消多标签页显示,设置打开一个pdf文件对应一个窗口。

Windows系统&#xff1a;Adobe Acrobat Pro或者Adobe Acrobat Reader首选项-一般-取消在同一窗口的新标签中打开文档&#xff08;需要重启&#xff09;的对勾&#xff0c;点击确定&#xff0c;彻底关闭后重启&#xff0c;这样打开的每一个PDF文件对应的是一个窗口&#xff0c;并…

vue3+ el-upload封装上传组件

组件功能介绍 上传格式限制上传大小限制上传文件数量限制自定义上传区上传成功回调禁用上传开关与点击上传自定义事件暴露所以上传文件列表&#xff08;uploadList&#xff09;与当前文件数据&#xff08;uploadLatestFile&#xff09; 组件代码Upload.vue <template>&l…

玩具租赁系统(安装+讲解+源码)

技术栈: 后端: SpringBoot Mysql MybatisPlus 前端: Vue Element 分为 管理员端 用户端 功能: 用户端 管理员端 观看地址: B站搜&#xff1a; 【毕设者】玩具租赁系统(安装讲解源码)

智慧园区综合平台解决方案PPT(75页)

## 智慧园区的理解 ### 从园区1.0到园区4.0的演进 1. 园区1.0&#xff1a;以土地经营为主&#xff0c;成本驱动&#xff0c;提供基本服务。 2. 园区2.0&#xff1a;服务驱动&#xff0c;关注企业成长&#xff0c;提供增值服务。 3. 园区3.0&#xff1a;智慧型园区&#xff…

WordPress免费模板:惊艳动态效果,打造视觉盛宴

WordPress免费模板&#xff1a;惊艳动态效果&#xff0c;打造视觉盛宴 我们为您带来了一款独具特色的WordPress免费模板&#xff0c;这款模板以其独特的动态效果设计&#xff0c;特别是引人注目的动态banner图片效果&#xff0c;为您的网站注入活力&#xff0c;打造一场视觉盛…

[渗透测试] 任意文件读取漏洞

任意文件读取漏洞 概述 漏洞成因 存在读取文件的功能&#xff08;Web应用开放了文件读取功能&#xff09;读取文件的路径客户端可控&#xff08;完全控制或者影响文件路径&#xff09;没有对文件路径进行校验或者校验不严格导致被绕过输出文件内容 漏洞危害 下载服务器中的…

spring boot (shiro)+ websocket测试连接不上的简单检测处理

1、用前端连接测试的demo一切正常&#xff0c;但是到了项目中连接不上了 一开始以为是地址错&#xff0c;但是换了apifox测试也是不可以。 2、考虑是shiro进行了拦截了&#xff0c;所以就访问不到了地址&#xff0c;那么就放行。 3、再次用apifox测试&#xff0c;成功了。 当然…

【CSS in Depth 2 精译】2.2 em 和 rem + 2.2.1 使用 em 定义字号

当前内容所在位置 第一章 层叠、优先级与继承第二章 相对单位 2.1 相对单位的威力 2.1.1 响应式设计的兴起 2.2 em 与 rem ✔️ 2.2.1 使用 em 定义字号 ✔️2.2.2 使用 rem 设置字号 2.3 告别像素思维2.4 视口的相对单位2.5 无单位的数值与行高2.6 自定义属性2.7 本章小结 2.…

复分析——第9章——椭圆函数导论(E.M. Stein R. Shakarchi)

第 9 章 椭圆函数导论 (An Introduction to Elliptic Functions) The form that Jacobi had given to the theory of elliptic functions was far from perfection; its flaws are obvious. At the base we find three fundamental functions sn, cn and dn. These functio…

一文解决图论中有向图、无向图、非负加权图的单源最短路径问题【超详细】【通用模板程序】【深入分析】【无需基础】【c++】

本文致力于提供一种解决图论中所有&#xff08;或绝大部分&#xff09;有向图、无向图、非负加权图的单源最短路径问题的通用程序模板&#xff0c;本文提供的模板并不是简单的可行模板&#xff0c;而是经过深入分析解释的一个较高质量和性能的通用程序模版。在每个关键变量存储…

JavaSE期末复习速成笔记

面向对象 1. 面向对象的概念 面向对象编程&#xff08;OOP&#xff09;是一种编程范式&#xff0c;它将现实世界的事物抽象为对象&#xff0c;通过类和对象来创建各种功能模块&#xff0c;以此来设计和开发软件。 2. 类与对象 类&#xff1a;是对象的模板&#xff0c;定义了…

Ros2学习中的话题通信-自定义接口消息:在VScode中不能补全的问题

在学习ros2的过程中&#xff0c;当学习到话题通信-自定义接口消息时&#xff0c;当消息的具体类型并未指定时&#xff0c;常见的操作是在base_interfaces_demo下创建msg文件夹及文件。同理&#xff0c;在动作通信等其他类型的通信中也需要这么做&#xff0c;只是创建的文件夹的…

KV260视觉AI套件--开箱报告

目录 1. 简介 2. 与 Zynq 的渊源 3. 官方的入门步骤 4. 总结 1. 简介 传统的ARMFPGA或DSPFPGA控制方案在软件、逻辑、硬件以及系统工程的协同调试中&#xff0c;往往需要团队成员之间严格按照预定计划和接口规范进行分工合作&#xff0c;这不仅增加了测试过程的复杂性&…

【ElementPlus源码】Container 布局容器

文章目录 index.tsContainerheaderutilswithInstallwithNoopInstall hooksuseNamespace 单元测试 看源码时候做的笔记。如有错误请指出&#xff01; 关于路径的省略&#xff0c;详见button&#xff1a;【ElementPlus源码】Button按钮-CSDN博客 index.ts 导入一堆组件&#xff…

Centos7配置支持ftp文件传输功能

报错信息 适用于不支持ftp协议的centos7的系统。 报错信息&#xff1a;An error occurred while executing the action Connect. Details: No connection could be made because the target machine actively refused it. 解决办法 安装及启动等命令 # 安装vsftpd sudo yum…