03-基础例程3
基础例程3
01、外部中断
ESP32的外部中断有上升沿、下降沿、低电平、高电平触发模式。
实验目的
使用外部中断功能实现按键控制LED的亮灭
按键按下为0。【即下降沿】
* 接线说明:按键模块-->ESP32 IO* (K1-K4)-->(14,27,26,25)* * LED模块-->ESP32 IO* (D1-D4)-->(15,2,0,4)
软件程序
- 对于主函数
/* 深圳市普中科技有限公司(PRECHIN 普中)技术支持:www.prechin.net* 实验名称:外部中断实验* 接线说明:按键模块-->ESP32 IO[输入]* (K1-K4)-->(14,27,26,25)* * LED模块-->ESP32 IO[输出]* (D1-D4)-->(15,2,0,4)* * 实验现象:程序下载成功后,操作K1键控制D1指示灯亮灭;操作K2键控制D2指示灯亮灭;操作K3键控制D3指示灯亮灭;操作K4键控制D4指示灯亮灭; */#include "public.h"
#include "exti.h"//定义LED控制引脚
#define led1_pin 15
#define led2_pin 2
#define led3_pin 0
#define led4_pin 4//定义全局变量void setup() {pinMode(led1_pin, OUTPUT);//设置引脚为输出模式pinMode(led2_pin, OUTPUT);pinMode(led3_pin, OUTPUT);pinMode(led4_pin, OUTPUT);exti_init();
}void loop() {digitalWrite(led1_pin,key1_sta);digitalWrite(led2_pin,key2_sta);digitalWrite(led3_pin,key3_sta);digitalWrite(led4_pin,key4_sta);
}
- 对于中断函数
#include "exti.h"volatile u8 key1_sta=0;
volatile u8 key2_sta=0;
volatile u8 key3_sta=0;
volatile u8 key4_sta=0;//端口初始化
void exti_init(void)
{pinMode(key1_pin, INPUT_PULLUP);//设置引脚为输入上拉模式pinMode(key2_pin, INPUT_PULLUP);pinMode(key3_pin, INPUT_PULLUP);pinMode(key4_pin, INPUT_PULLUP);attachInterrupt(digitalPinToInterrupt(key1_pin), key1_isr, FALLING);//设置下降沿触发attachInterrupt(digitalPinToInterrupt(key2_pin), key2_isr, FALLING);attachInterrupt(digitalPinToInterrupt(key3_pin), key3_isr, FALLING);attachInterrupt(digitalPinToInterrupt(key4_pin), key4_isr, FALLING);
}
/*中断函数*/
void key1_isr(void)
{key1_sta=!key1_sta;
}void key2_isr(void)
{key2_sta=!key2_sta;
}void key3_isr(void)
{key3_sta=!key3_sta;
}void key4_isr(void)
{key4_sta=!key4_sta;
}
02、定时器中断
使用定时器进行定时。
- 主函数
/* 深圳市普中科技有限公司(PRECHIN 普中)技术支持:www.prechin.net* * 实验名称:定时器中断实验* * 接线说明:LED模块-->ESP32 IO* (D1)-->(15)* * 实验现象:程序下载成功后,D1指示灯间隔0.5s状态翻转* * 注意事项:* */#include "public.h"
#include "led.h"
#include "time.h"//定义全局变量void setup() {led_init();time0_init(500000);//定时500ms}void loop() {}#include "led.h"//led初始化
void led_init(void)
{pinMode(led1_pin, OUTPUT);//设置引脚为输出模式
}
- 定时器的函数
#include "time.h"
#include "led.h"hw_timer_t *timer0 = NULL;//创建timer0定时器对象//定时器初始化
//per:定时时间,单位us
void time0_init(u32 per)
{/* timerBegin:初始化定时器指针第一个参数:设置定时器0(一共有四个定时器0、1、2、3)第二个参数:80分频(设置APB时钟,ESP32主频80MHz),80则时间单位为1Mhz即1us,1000000us即1s。第三个参数:计数方式,true向上计数 false向下计数*/timer0 = timerBegin(0, 80, true);/* timerAlarmWrite:配置报警计数器保护值(就是设置时间)第一个参数:指向已初始化定时器的指针第二个参数:定时时间,这里为500000us 意思为0.5s进入一次中断第三个参数:是否重载,false定时器中断触发一次 true:死循环*/timerAlarmWrite(timer0, per, true);/* timerAttachInterrupt:绑定定时器第一个参数:指向已初始化定时器的指针第二个参数:中断服务器函数第三个参数:true边沿触发,false电平触发*/timerAttachInterrupt(timer0, &time0_isr, true); timerAlarmEnable(timer0);//启用定时器//timerDetachInterrupt(timer0);//关闭定时器}//定时器中断函数
/*当定时时间到,进入定时器中断函数
*/
void time0_isr(void)
{static u8 led_sta=0; led_sta=!led_sta;digitalWrite(led1_pin,led_sta);
}
03、PWM
实验目的
通过调节PWM占空比,控制LED指示灯亮度变化,实现呼吸灯的效果。由暗到亮,再由亮到暗的循环过程。
高电平的占空比不同,则电压不同,则LED的亮度不同
- 主函数
/* 深圳市普中科技有限公司(PRECHIN 普中)技术支持:www.prechin.net * 实验名称:PWM呼吸灯实验 * 接线说明:LED模块-->ESP32 IO* (D1)-->(15)* 实验现象:程序下载成功后,D1指示灯呈现呼吸灯效果,由暗变亮,再由亮变暗*/#include "public.h"
#include "led.h"
#include "pwm.h"//定义全局变量
u16 g_duty_value=0;
u8 g_fx=1;void setup() {pwm_init(led1_pin,0,1000,10);}void loop() {if(g_fx==1){g_duty_value+=10;if(g_duty_value>1010)g_fx=0;}else{g_duty_value-=10;if(g_duty_value<10)g_fx=1;}pwm_set_duty(0,g_duty_value);delay(10);
}#include "led.h"//led初始化
void led_init(void)
{pinMode(led1_pin, OUTPUT);//设置引脚为输出模式
}
- PWM的函数
#include "pwm.h"/*
PWM初始化
//pin:引脚号
//chanel:PWM输出通道0-15
//freq:PWM输出频率,单位HZ
//resolution:PWM占空比的分辨率1-16,比如设置8,分辨率范围0-255
*/
void pwm_init(u8 pin,u8 chanel,u8 freq,u8 resolution)
{ledcSetup(chanel, freq, resolution);// PWM初始化ledcAttachPin(pin, chanel);// 绑定PWM通道到GPIO上
}//PWM占空比设置
//chanel:PWM的输出通道
//duty:占空比
void pwm_set_duty(u8 chanel,u16 duty)
{ledcWrite(chanel,duty);// 改变PWM的占空比
}
04、串口通信
- 实验介绍
在ESP32中有三个硬件的UART:UART0、UART1和UART2。
ESP32 TX——RX
ESP32 RX——TX
GND——GND
其中UART0用于下载程序和调试
UART1:内部的通信
- 代码
/* 深圳市普中科技有限公司(PRECHIN 普中)技术支持:www.prechin.net* * 实验名称:串口通信实验* * 接线说明:USB转TTL模块-->ESP32 IO* (TXD)-->(16)(RXD)-->(17)(GND)-->(GND)* * 实验现象:程序下载成功后,打开串口调试助手,选择好串口、波特率115200参数等,在串口助手上发送字符数据,ESP32串口接收后原封不动返回到串口助手显示* * 注意事项:USB转TTL模块上将电源切换为3.3V* */#include "public.h"//定义全局变量
//定义串口2
HardwareSerial mySerial2(2);
String serialData;void setup() {//串口0配置Serial.begin(115200);//串口2配置//void HardwareSerial::begin(unsigned long baud, uint32_t config=SERIAL_8N1, int8_t rxPin=-1, int8_t txPin=-1, bool invert=false, unsigned long timeout_ms = 20000UL);//baud:串口波特率,该值写0则会进入自动侦测波特率程序;//config:串口参数,默认SERIAL_8N1为8位数据位、无校验、1位停止位;//rxPin:接收管脚针脚号;//txPin:发送管脚针脚号;//invert:翻转逻辑电平,串口默认高电平为1、低电平为0;//timeout_ms:自动侦测波特率超时时间,如果超过该时间还未获得波特率就不会使能串口;mySerial2.begin(115200,SERIAL_8N1,16,17);}void loop() {if(Serial.available()) //当串口0接收到信息后{Serial.println("Serial Data Available..."); // 通过串口监视器通知用户serialData=Serial.readString(); // 将接收到的信息使用readString()存储于serialData变量Serial.print("Received Serial Data: "); // 然后通过串口监视器输出serialData变量内容Serial.println(serialData); // 以便查看serialData变量的信息}if(mySerial2.available()) //当串口2接收到信息后{mySerial2.println("Serial2 Data Available..."); // 通过串口监视器通知用户serialData=mySerial2.readString(); // 将接收到的信息使用readString()存储于serialData变量mySerial2.print("Received Serial2 Data: "); // 然后通过串口监视器输出serialData变量内容mySerial2.println(serialData); // 以便查看serialData变量的信息}
}
05、ADC
- 实验介绍
ADC功能在引脚32-39上可用。输入电压必须介于0-1.0V(高于1V都读为4095)
ADC采集电位器0-3.3V电压。
- 硬件设计
J2端子的R_ADC脚为电位器的电压输出端,可将该引脚与ESP32的ADC脚相连接
旋转底板上的ADC电位器,即可改变电压
- 软件设计
/* 深圳市普中科技有限公司(PRECHIN 普中)技术支持:www.prechin.net* * 实验名称:ADC实验* * 接线说明:ADC电位器-->ESP32 IO* ADC-->(34)* * 实验现象:程序下载成功后,会在软件串口控制台上输出ADC检测电压值,调节电位器可改变检测电压* * 注意事项:* */#include "public.h"//定义全局变量
float adc_vol=0;void setup() {//串口0配置Serial.begin(115200);}void loop() {adc_vol=3.3*(float)analogRead(34)/4095;//读取ADC值---34引脚Serial.print("ADC检测电压:");Serial.print(adc_vol);Serial.println("V");delay(500);
}* 接线说明:ADC电位器-->ESP32 IO* ADC-->(34)* * 实验现象:程序下载成功后,会在软件串口控制台上输出ADC检测电压值,调节电位器可改变检测电压* * 注意事项:* */#include "public.h"//定义全局变量
float adc_vol=0;void setup() {//串口0配置Serial.begin(115200);}void loop() {adc_vol=3.3*(float)analogRead(34)/4095;//读取ADC值---34引脚Serial.print("ADC检测电压:");Serial.print(adc_vol);Serial.println("V");delay(500);
}
相关文章:
03-基础例程3
基础例程3 01、外部中断 ESP32的外部中断有上升沿、下降沿、低电平、高电平触发模式。 实验目的 使用外部中断功能实现按键控制LED的亮灭 按键按下为0。【即下降沿】 * 接线说明:按键模块-->ESP32 IO* (K1-K4)-->(14,27,26,25)* * …...
Vue结合ElementUi修改<el-table>表格的背景颜色和表头样式
本项目在开发过程中vueelementui , 页面中使用了table表格的样式, 需要对原先的样式进行修改,以下是简单的修改样式内容:项目中某个 html中引用的table表格内容,定义了div的class : device_err :<div class"device_err&q…...
git clone与git pull区别
从字面意思也可以理解,都是往下拉代码,git clone是克隆,git pull 是拉。 但是,也有区别: 从远程服务器克隆一个一模一样的版本库到本地, 复制的是整个版本库,叫做clone.(clone是将一个库复制到你…...
MyBatis学习简要
目录 什么是MyBatis? MyBatis实现的设想 MyBatis基于配置文件的开发步骤 mybatis的配置文件 Mapper代理开发 配置文件完成增删改查的三步 注解开发 一、条件查询 参数接收时,参数的设置: 动态条件查询: 二、添加功能 步骤…...
forlium 笔记 Map
用于创建交互式地图 1 主要参数 1.1. location 地图位置 地图的经纬度 import foliumm folium.Map(location[31.186358, 121.510256],zoom_start15)m 1.2 tiles 内置样式 默认是OpenStreetMap 1.2.1 Stamen Terrain 它强调了地形特征,如山脉、河流和道路 m …...
解读亚马逊云科技语义搜图检索方案
图像检索(包括文搜图和图搜图)是各个行业中常见的一个应用场景。比如在电商场景中,基于以图搜图做相似商品查找;在云相册场景中,基于文搜图来找寻所需的图像素材。 传统基于标签的图像检索方式,即先使用目标…...
git基本使用
1、创建仓库,提交代码 Git 全局设置: git config --global user.name "许歌" //全局绑定用户名 git config --global user.email "12075507xu-ge111user.noreply.gitee.com" //全局绑定邮箱创建 git 仓库: mkdir t…...
为C# Console应用化个妆
说到Windows的cmd,刻板印象就是黑底白字的命令行界面。跟Linux花花绿绿的界面比,似乎单调了许多。但其实C#开发的Console应用也可以摆脱单调非黑即白的UI。 最近遇到个需求,要在一堆纯文本文件里找指定的关键字(后续还要人肉判断…...
VUE环境下 CSS3+JS 实现发牌 翻牌
创建牌容器(关键点:overflow:hidden): <div class"popup-box"></div> .popup-box {position: absolute;width: 100vw;height: 100vh;top: 0px;left: 0;overflow: hidden; } 创建每一张牌《固…...
WSL Opencv with_ffmpeg conan1.60.0
我是ubuntu18. self.options[“opencv”].with_ffmpeg True 关键是gcc版本需要conan支持,比如我的是: compilergcc compiler.version7.5 此外还需要安装系统所需库: https://qq742971636.blog.csdn.net/article/details/132559789 甚至来…...
Android中正确使用Handler的姿势
在Android中,Handler是一种用于在不同线程之间传递消息和任务的机制。以下是在Android中正确使用Handler的一些姿势: 1. 在主线程中创建Handler对象 在Android中,只有主线程(也称为UI线程)可以更新UI。因此ÿ…...
webSocket前后端交互pc端版
前端代码 <!--* Author: 第一好帅宝* Date: 2023-08-29 16:12:26* LastEditTime: 2023-08-29 16:54:50* FilePath: \websocket\ceshi.html --> <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name&…...
Java-day13(枚举与注解)
枚举与注解 枚举 1.自定义枚举 如果枚举只有单个成员,则可以作为单例模式的实现方式 public class test{ public static void main(String[] args) { Season spring Season.spring;System.out.println(spring);spring.show();System.out.println(…...
vue PDF或Word转换为HTML并保留原有样式
方法一 要将PDF或Word转换为HTML并保留原有样式,可以使用pdfjs-dist和mammoth.js这两个库。首先需要安装这两个库: npm install pdfjs-dist mammoth.js然后在Vue项目中使用这两个库进行转换: import * as pdfjsLib from pdfjs-dist; impor…...
华硕笔记本摄像头倒置怎么办?华硕笔记本摄像头上下颠倒怎么调整
笔记本电脑相较于台式电脑,更易携带,解决了很大一部分人的使用需求。但是笔记本电脑也存在很多不足,比如华硕笔记本电脑就经常会出现摄像头倒置的错误,出现这种问题要如何修复呢?下面就来看看详细的调整方法。 华硕笔记…...
本地套接字通信
1.本地套接字 本地套接字的作用:本地的进程间通信 有关系的进程间的通信 没有关系的进程间的通信 本地套接字实现流程和网络套接字类似,一般采用TCP的通信流程 2.本地套接字通信的流程 - tcp // 服务器端 1.创建监听的套接字int lfd socket(AF_U…...
数据结构(Java实现)-优先级队列(堆)
队列是一种先进先出(FIFO)的数据结构,但有些情况下,操作的数据可能带有优先级,一般出队 列在这种情况下,数据结构应该提供两个最基本的操作,一个是返回最高优先级对象,一个是添加新的对象。 这种数据结构就…...
算法通关村第8关【黄金】| 寻找祖先问题
思路:递归三部曲 第一步:确定参数和返回值 题目要求找到指定的结点,就需要返回结点。 题目又涉及到p,q就需要传入p,q,需要遍历传入root 第二步:确定终止条件 当遍历到结点为空说明到底没找到返回空 或者遍历到p,…...
栈和队列(详解)
一、栈 1.1、栈的基本概念 1.1.1、栈的定义 栈(Stack):是只允许在一端进行插入或删除的线性表。首先栈是一种线性表,但限定这种线性表只能在某一端进行插入和删除操作。 栈顶(Top):线性表允许…...
iOS开发Swift-3-UI与按钮Button-摇骰子App
1.创建新项目Dice 2.图标 删去AppIcon,将解压后的AppIcon.appiconset文件拖入Assets包。 3.将素材点数1-6通过网页制作成2x,3x版本并拖入Asset。 4.设置对应的UI。 5.拖入Button组件并设置style。 6.Ctrl加拖拽将Button拖拽到ViewController里࿰…...
1、[春秋云镜]CVE-2022-32991
文章目录 一、相关信息二、解题思路(手注)三、通关思路(sqlmap) 一、相关信息 靶场提示:该CMS的welcome.php中存在SQL注入攻击。 NVD关于漏洞的描述: 注入点不仅在eid处!!ÿ…...
pdf如何删除其中一页?了解一下这几种删除方法
pdf如何删除其中一页?随着电子文档的广泛应用,PDF已成为最常见的文档格式之一。然而,有时候你可能会发现,你的PDF文档中包含了一些多余的页面,或者你需要删除其中的某一页。那么,该如何删除PDF中的页面呢&a…...
PO设计模式是selenium自动化测试中最佳的设计模式之一
Page Object Model:PO设计模式是selenium自动化测试中最佳的设计模式之一,主要体现在对界面交互细节的封装,也就是在实际测试中只关注业务流程就OK了传统的设计中,在新增测试用例之后,代码会有以下几个问题:…...
yolov8使用C++推理的流程及注意事项
1.下载yolov8项目源码GitHub - ultralytics/ultralytics: NEW - YOLOv8 🚀 in PyTorch > ONNX > OpenVINO > CoreML > TFLite 2.下载opencvReleases - OpenCV,建议版本>4.7.0,选择下载源码, windows版本由于使用的编译器与我们所使用的m…...
深度思考计算机网络面经之二
HTTP2和1.1的区别 HTTP 2.0 和 HTTP 1.1 相比有哪些优势呢? HTTP1.1的队头阻塞问题 服务器必须按照请求接收的顺序来响应,为什么 是因为传统的1.1中没有特定字段来区分一个请求属于哪个,只能按照请求的物理顺序返回, HTTP2解…...
老年人跌倒智能识别算法 opencv
老年人跌倒智能识别算法通过opencvpython深度学习算法框架模型,老年人跌倒智能识别算法能够及时发现老年人跌倒情况,提供快速的援助和救援措施,保障老年人的安全。Python是一种由Guido van Rossum开发的通用编程语言,它很快就变得…...
ros2官方文档(基于humble版本)学习笔记
ros2官方文档(基于humble版本)学习笔记(一) 一、安装ROS2二、按教程学习1.CLI 工具配置环境 由于市面上专门讲ROS2开发的书籍不多,近期看完了《ROS机器人开发实践》其中大部分内容还是基于ROS1写的,涉及top…...
可拖动表格
支持行拖动,列拖动 插件:sortablejs UI: elementUI <template><div><hr style"margin: 30px 0;"><div><!-- 数据里面要有主键id, 否则拖拽异常 --><h2 style"margin-bottom: 30px&qu…...
C++语法基础
这里写目录标题 基础语法第一个程序变量常量的定义关键字标识符命名 (变量命名)sizeof的使用实型(浮点型)字符型转义字符字符串的定义 一级目录二级目录二级目录二级目录 一级目录二级目录二级目录二级目录 基础语法 第一个程序 …...
Windi CSS和Tailwind CSS以及UnoCSS
最近合作在写一个vue3ts的项目,看到其他人用了一种写法,我觉得很奇怪,之前没见过,他是这样写的 <div class"news flex-1 h-40px flex"></div>我不理解的是为什么这样写就会让这个div的高度就是40px,好多代码…...
c++ opencv将彩色图像按连通域区分
要将彩色图像按连通域区分,您可以使用 OpenCV 中的 cv::connectedComponents 函数。 下面是一个简单的示例代码,说明如何使用 cv::connectedComponents 函数来检测并标记图像中的连通域: #include <opencv2/opencv.hpp> #include <…...
〖程序员的自我修养 - 认知剖析篇⑩〗- 学习编程的高效率方法
人之所以会觉得迷茫,本质上是欠缺对自己的一个控制力、识别庞杂信息、去伪存真的独立思考与认知能力。 说明:该文属于 程序员的自我修养 专栏,购买任意白宝书体系化专栏可加入易编程社区,早鸟价订阅模式除外。福利:加入社区的小伙伴们,除了可以获取博主所有付费专栏的阅读…...
前端基础1——HTML标记语言
文章目录 一、基本了解二、HTML常用标签2.1 文本格式化标签2.2 列表标签2.3 超链接标签2.4 图片标签2.5 表格标签2.6 表单标签2.6.1 提交表单2.6.2 下拉表单2.6.3 按钮标签 2.7 布局标签 一、基本了解 网页组成(index.html页面): HTML标记语言…...
2.1: Dubbo的基本应用-负载均衡,集群容错,服务降级
负载均衡 官网地址: http://dubbo.apache.org/zh/docs/v2.7/user/examples/loadbalance/ 如果在消费端和服务端都配置了负载均衡策略, 以消费端为准。 这其中比较难理解的就是最少活跃调用数是如何进行统计的? 讲道理, 最少活跃数…...
正则常见问题及解决方案
使用正则处理问题的基本思路。有一些方法比较固定,比如将问题分解成多个小问题,每个小问题见招拆招:某个位置上可能有多个字符的话,就⽤字符组。某个位置上有多个字符串的话,就⽤多选结构。出现的次数不确定的话&#…...
docker发布项目及使用外部文件的情况处理
适用docker环境已搭建好 首先项目打jar包:server-cdzh-2.1.0-SNAPSHOT.jar 创建Dockerfile FROM java:8 ADD server-cdzh-2.1.0-SNAPSHOT.jar cdzh.jar EXPOSE 60156 ENTRYPOINT ["java","-jar","/cdzh.jar"] 在linux服务器新建…...
CSS 中哪些属性可以继承
1. 字体属性: font、font-style、font-variant、font-weight、font-size、line-height等属性是字体样式的属性,都可以被子元素继承。 2. 文本属性: color、text-indent、text-align、text-decoration、text-transform、letter-spacing、wo…...
vue cli构建的项目出现 Uncaught runtime errors
使用 vue/cli 脚手架构建的项目,在 npm run dev 运行后,页面出现 Uncaught runtime errors 报错遮罩层,如下图所示。 报错原因 这种错误通常是运行时出的问题,可能是网络错误,可能是变量未定义等等。 这种错误默认在开…...
透过源码理解Flutter InheritedWidget
InheritedWidget的核心是保存值和保存使用这个值的widget,通过对比值的变化,来决定是否要通知那些使用了这个值的widget更新自身。 1 updateShouldNotify和notifyClients InheritedWidget通过updateShouldNotify函数控制依赖其的子组件是否在Inherited…...
天去面试的时候,遇到一个问题。我三个任务,ABC,我怎么让A执行完执行B,B执行完执行C 3个并行线程,如何解决。程池的核心运行原理和参数。
今天去面试的时候,遇到一个问题。我三个任务,ABC,我怎么让A执行完执行B,B执行完执行C 3个并行线程,如何解决。程池的核心运行原理和参数。 1.线程池核心的参数 1.线程核心数- 线程池中始终保持的活动线程数量。 2.最…...
使用finksql方式将mysql数据同步到kafka中,每次只能同步一张表
使用finksql方式将mysql数据同步到kafka中,每次只能同步一张表 package flink;import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment; import org.apache.flink.table.api.TableResult; import org.apache.flink.table.api.bridge.java.…...
ios开发 swift5 苹果系统自带的图标 SF Symbols
文章目录 1.官网app的下载和使用2.使用代码 1.官网app的下载和使用 苹果官网网址:SF Symbols 通过上面的网址可以下载dmg, 安装到自己的mac上 貌似下面这样不能展示出动画,还是要使用动画的代码 .bounce.up.byLayer2.使用代码 UIKit UIImage(system…...
Linux内核源码分析 (3)调度器的实现
Linux内核源码分析 (3)调度器的实现 文章目录 Linux内核源码分析 (3)调度器的实现一、概述二、调度器数据结构1、task_struct中与调度有关的的成员2、调度器类3、就绪队列4、调度实体 三、处理优先级1、优先级的内核表示2、计算优先级3、计算负荷权重 四、核心调度器1、周期性调…...
网络安全法+网络安全等级保护
网络安全法 网络安全法21条 网络安全法31条 网络安全等级保护 网络安全等级保护分为几级? 一个中心,三重防护 等级保护2.0网络拓扑图 安全区域边界 安全计算环境 等保安全产品 物理机房安全设计...
持续集成对软件项目管理的作用
l、对项目目标管理的作用 软件项目的目标是开发出可运行的、客户满意的软件系统持续集成有统一的代 码库。要求开发人员定期地、不断地向代码库提交代码。新近提交的代码会经过编 译与测试.与代码库中旧有的代码相整合,形成安全稳定运行的代码库&…...
【Qt QAxObject】使用 QAxObject 高效任意读写 Excel 表
1. 用什么操作 Excel 表 Qt 的官网库中是不包含 Microsoft Excel 的操作库,关于对 Microsoft Excel 的操作库可选的有很多,包含基于 Windows 系统本身的 ActiveX、Qt Xlsx、xlsLib、LibXL、qtXLS、BasicExcel、Number Duck。 库.xls.xlsx读写平台Qt Xls…...
java八股文面试[多线程]——自旋锁
优点: 1. 自旋锁尽可能的减少线程的阻塞,这对于锁的竞争不激烈,且占用锁时间非常短的代码块来说性能能大幅度的提升,因为自旋的消耗会小于线程阻塞挂起再唤醒的操作的消耗 ,这些操作会导致线程发生两次上下文切换&…...
分布式系统的多数据库,实现分布式事务回滚(1.7.0 seata整合2.0.4nacos)
正文 1、解决的应用场景是分布式事务,每个服务有独立的数据库。 2、例如:A服务的数据库是A1,B服务的数据库是B2,A服务通过feign接口调用B服务,B涉及提交数据到B2,业务是在B提交数据之后,在A服…...
PDF可以修改内容吗?有什么注意的事项?
PDF是一种跨平台的电子文档格式,可以在各种设备上轻松阅读和共享。许多人喜欢将文档转换为PDF格式以确保格式的一致性和易读性。但是,PDF文件一般被认为是“只读”文件,即无法编辑。那么,PDF文件是否可以修改呢? 答案是…...
自动泊车的自动驾驶控制算法
1. 自动泊车系统 自动泊车系统(AutomatedParkingASSiSt,APA)利用车辆搭载的传感器感知车辆周边环境,扫描满足当前车辆停放的障碍物空间车位或线车位,并通过人机交互(HumanMachine Interface,HMI)获取驾驶员对目标车位的选择或自动确定目标车位,自动规划泊车路径,通过控制器向车…...