基于STM32的光敏传感器数据采集系统-嵌入式系统与设计课程设计

2023-05-16

目录

  • 1 项目概述
    • 1.1 项目介绍
    • 1.2 项目开发环境
    • 1.3 小组人员及分工
  • 2 需求分析
    • 2.1 系统需求分析
    • 2.2 可行性分析
    • 2.3 项目实施安排
  • 3 系统硬件设计
    • 3.1 系统整体硬件电路设计
    • 3.2 STM32 最小系统电路设计
    • 3.3 传感器模块电路设计
    • 3.4 光敏电阻模块电路设计
  • 4系统软件设计
    • 4.1 系统整体流程设计
    • 4.2 光敏传感器检测软件设计
    • 4.3 Keil软件简介
  • 5 系统测试及功能说明
    • 5.1 开发环境测试
    • 5.2 功能测试
    • 5.3 结果分析
  • 6 总结
  • 参考文献

1 项目概述

1.1 项目介绍

随着人们对物理世界的不断探索,我们获取信息的方式和途径越来越多样化,信息的来源、种类、数量呈现海量化的态势。传感器作为连接物理世界与电子世界的重要媒介,能将物理世界中模拟信号转化成为计算机能够处理的数字信号[1]。

现代传感器不仅包括了传感部件能够感知周围世界,而且也集成了微型处理器与无线通信模块,可实现各传感节点间信息的交换与通信,而且能够对前端感知的信息进行综合分析处理和网络传输[2]。

本项目通过设计完成一个基于 STM32 的光敏传感器数据采集系统,利用 STM32F103 系列处理器完成光敏传感器相关数据的采集和分析处理,并通过串口通信将处理之后的数据传输到上位机软件进行显示,通过C语言编程和调试完成上述功能,同时通过课程设计的综合训练。

1.2 项目开发环境

我们的项目利用 Keil uVision4 for Arm 软件实现嵌入式系统控制软件的设计与开发。

硬件:PC 个人计算机、键盘、鼠标、物联网综合实验箱
软件:64 位 windows 操作系统,Keil uVision4 for Arm 软件、VC++6.0等
系统:Windows 10 (64bit)
处理器:Intel CPU Core i5-2500K 3.3 GHz
内存:16 GB RAM
显卡:Nvidia GPU GeForce GTX 1650
存储:15 GB of available space

1.3 小组人员及分工

表1-1 小组人员及分工

姓名项目中的分工
X设计创作、理论指导
X设计创作、理论指导
Yeats_Liao总体规划、论文编写
X评价分析、资料整理

2 需求分析

2.1 系统需求分析

光敏传感器是最常见的传感器之一,它的种类繁多,主要有:光电管、光电倍增管、光敏电阻、光敏三极管、太阳能电池、红外线传感器、紫外线传感器、光纤式光电传感器、色彩传感器、CCD和CMOS图像传感器等[3]。光传感器是目前产量最多、应用最广的传感器之一,它在自动控制和非电量电测技术中占有非常重要的地位。

光敏传感器是利用光敏元件将光信号转换为电信号的传感器,它的敏感波长在可见光波长附近,包括红外线波长和紫外线波长。光传感器不只局限于对光的探测,它还可以作为探测元件组成其他传感器,对许多非电量进行检测,只要将这些非电量转换为光信号的变化即可[4]。

照射光敏二极管的光强不同,通过光敏二极管的电流大小就不同,所以可以通过检测电流大小,达到检测光强的目的。通过ADC3通道6采集光敏传感器的AD 值,并将该值转换为光照度值 0-100,0对应最暗,100对应最亮,并通过串口1输出光照强度值利用这个电流变化,我们串接一个电阻,就可以转换成电压的变化,从而通过ADC读取电压值,判断外部光线的强弱。

2.2 可行性分析

1.项目的目标

项目目标:通过实验实训,进一步了解STM32的光敏传感器的工作原理。熟悉温湿度传感器的数据采集控制方法。

2.设计目的

观测STM32的光敏传感器的工作过程、记录温湿度传感器性能的实验数据。

3.任务和要求

(1)良好的沟通和合作能力;
(2)充分利用课上所学的嵌入式系统与设计、物联网系统应用项目开发等相关知识;
(3)充分利用调试和排错技术;
(4)简单测试驱动模块和桩模块的编写;
(5)查阅相关资料,自学具体课题中涉及的新知识。

2.3 项目实施安排

表2-1项目实施安排

序号内容时间(课时)
1系统分析2
2设计4
3编码、测试6
4验收4
X合计16

3 系统硬件设计

3.1 系统整体硬件电路设计

IOT-L02-06型开发应用实验箱由Cortex-A9平板开发板(右下角)以及围绕其的多个无线传感器节点组成。Cortex-A9开发板配备一款7寸电容屏,运行Android操作系统可以做为Android APP开发平台使用。多个无线传感器节点由节点底板、无线射频模块、传感器&执行器模块以及2.8寸电阻触屏,各个模块之间均采用插针可插拔形式设计。

在这里插入图片描述
图3-1 物联网开发应用实验箱

实验箱标配Wi-Fi,Zigbee,蓝牙3种无线射频模块,磁检测传感器模块、光敏传感器模块、红外对射传感器模块、红外反射传感器模块等多种传感器模块。

在这里插入图片描述
图3-2 光敏传感器固件

IOT-L02-06型物联网开发应用实验箱各节点配置一枚STM32型MCU可完成单片机原理与技术课程的实验开设,标准配置有磁检测传感器、光敏传感器、红外对射传感器等传感器模块,传感器模块覆盖了电容式、电阻式、光敏式、气敏式四大原理类型传感器。

在这里插入图片描述
图3-3 STM32主芯片电路原理图

3.2 STM32 最小系统电路设计

系统的设计以 STM32 为主要的控制芯片,其模块的电源电路主要由 USB的接口连接进行供电,注意,此接口不用于下载程序,其中两个引脚与单片机引脚 相连。下载程序的接口,在 SWD的 4接口中,作为程序下载与调试的端口,两个分别接地与接电源出,剩下两个引脚分别接到主控制单片机的对应的 SWDIO和SWDCLK上。具体的 STM32最小系统设计如图3-4所示。

在这里插入图片描述
图 3-4 STM32 最小系统设计原理图

另外,系统中还有连个指示灯,一个为电源指示灯,可以作为 判断模块是否上电的视觉化表现,一个指示灯一端接 PC13。

时钟电路使用电容、 晶振,给单片机提供稳定的时钟基准信号,将两个电容并联,以 8M的晶振连接,一侧与单片机的OSC_IN连接,另一侧则与OSC_OUT连接。

此系统中的复位电路,104puf的电容与10K电阻串联,其中加按键与电容并联。此最小系统是单片机最小模块,独立的板子完成,还有两排引脚的标别,分别为 P3、P4部分。

3.3 传感器模块电路设计

光敏二极管也叫光电二极管。光敏二极管与半导体二极管在结构上是类似的,其管芯是一个具有光敏特征的PN结,具有单向导电性,因此工作时需加上反向电压。
无光照时,有很小的饱和反向漏电流,即暗电流,此时光敏二极管截止[5]。当受到光照时,饱和反向漏电流大大增加,形成光电流,它随入射光强度的变化而变化。当光线照射PN结时,可以使PN结中产生电子一空穴对,使少数载流子的密度增加[6]。这些载流子在反向电压下漂移,使反向电流增加。因此可以利用光照强弱来改变电路中的电流。
在这里插入图片描述
图3-5光敏传感器设计原理图

一般情况下光敏电阻的暗电阻为1M~~2MΩ,亮电阻为1K~~15KΩ,则可以根据D3处的电压分为两种情况:暗电阻(没有光照)与亮电阻(有光照)

暗电阻下:3.3V * 10K/ ( 2000 K+ 10K) = 0.016V

亮电阻下:3.3V * 10K/ ( 15 K+ 10K) = 1.3V

我们这里使用的STM32的PA4是12位ADC,根据上面的计算结果,我们可以算出亮电阻下的ADC值为1.3*1024 /3.3 = 1613 ,则我们可以通过采集ADC1的值作为临界值,当ADC1的值大于1613时表明有光,小于1613则无光。

表2-1传感器、STC、STM、CC2530数据口对应表
在这里插入图片描述

3.4 光敏电阻模块电路设计

光敏电阻器是一种对光敏感的元件,它的电阻值能随着外界光照强弱(明暗)变化而变化,即光敏电阻器是利用半导体光电导效应制成的一种特殊电阻器,对光线十分敏感。它在无光照射时,呈高阻状态;当有光照射时,其电阻值迅速减小[7]。

光敏电阻器一般用于光的测量、光的控制和光电转换(将光的变化转换为电的变化)。常用的光敏电阻器硫化镉光敏电阻器,它是由半导体材料制成的。光敏电阻器的阻值随入射光线(可见光)的强弱变化而变化,在黑暗条件下,它的阻值(暗阻)可达1~10M欧,在强光条件(100LX)下,它阻值(亮阻)仅有几百至数千欧姆。光敏电阻器对光的敏感性(即光谱特性)与人眼对可见光(0.4~0.76)μm的响应很接近,只要人眼可感受的光,都会引起它的阻值变化[8]。

在黑暗的环境下,它的阻值很高;当受到光照并且光辐射能量足够大时,光导材料禁带中的电子受到能量大于其禁带宽度ΔEg 的光子激发,由价带越过禁带而跃迁到导带,使其导带的电子和价带的空穴增加,电阻率变小[9]。

在这里插入图片描述
图3-6 光敏电阻工作原理图

光敏电阻的伏安特性是在一定照度下,加在光敏电阻两端的电压与电流之间的关系称为伏安特性。下图中曲线1、2分别表示照度为零及照度为某值时的伏安特性。由曲线可知,在给定偏压下,光照度较大,光电流也越大。

在一定的光照度下,所加的电压越大,光电流越大,而且无饱和现象。但是电压不能无限地增大,因为任何光敏电阻都受额定功率、最高工作电压和额定电流的限制[10]。超过最高工作电压和最大额定电流,可能导致光敏电阻永久性损坏。
在这里插入图片描述
图3-7 光敏电阻伏安特性

当光照射到光电导体上时,若光电导体为本征半导体材料,而且光辐射能量又足够强,光导材料价带上的电子将激发到导带上去,从而使导带的电子和价带的空穴增加,致使光导体的电导率变大[11]。为实现能级的跃迁,入射光的能量必须大于光导体材料的禁带宽度Eg,即
在这里插入图片描述

式中ν和λ—入射光的频率和波长。一种光电导体,存在一个照射光的波长限λC,只有波长小于λC的光照射在光电导体上,才能产生电子在能级间的跃迁,从而使光电导体电导率增加[12]。

光敏电阻的结构如图3-8所示。管芯是一块安装在绝缘衬底上带有两个欧姆接触电极的光电导体。光导体吸收光子而产生的光电效应,只限于光照的表面薄层,虽然产生的载流子也有少数扩散到内部去,但扩散深度有限,因此光电导体一般都做成薄层[13]。为了获得高的灵敏度,光敏电阻的电极一般采用硫状图案,结构见下图3-8。

在这里插入图片描述
图3-8金属封装的硫化镉光敏电阻结构图

它是在一定的掩模下向光电导薄膜上蒸镀金或铟等金属形成的。这种硫状电极,由于在间距很近的电极之间有可能采用大的灵敏面积[14],所以提高了光敏电阻的灵敏度。图3-9是光敏电阻的代表符号。

在这里插入图片描述
图3-9 光敏电阻代表符号

4系统软件设计

4.1 系统整体流程设计

在系统运行前,准备连接带有STM32芯片节点的硬件、电脑、J-LINK、串口线等;编写实验源代码及下载代码,将光敏传感器安装在8号节点上,打开Keil集成开发环境,打开光敏传感器实验工程文件。编译整个工程,将生成Test.hex可执行文件。把J-LINK与节点、电脑连接,点击左上角的将程序下载到节点板,使用配套的串口线将计算机串口与8号节点的DB9串口接头相连,将节点右下角上的白色三位拨打开关拨至左边,给节点重新上电,打开串口调试工具程序,打开正确的端口,进行9600-8-N-1设置,打开串口,就可以与芯片进行数据交互了。系统流程如图4-1所示。

在这里插入图片描述

图4-1 系统软件整体运行流程图

4.2 光敏传感器检测软件设计

系统运行时,单片机控制系统开始运行,光敏传感器检测程序开始启动,传感器把接收到数据进行采集,并反馈到串口中。在检测到光照时,传感器OUT端输出高电平信号;没有检测到光照时,传感器OUT端输出低电平信号,之后程序结束运行。光敏传感器检测软件设计流程如图4-2所示:

在这里插入图片描述

图 4-2 光敏传感器检测程序处理流程图

4.3 Keil软件简介

Keil是一个公司的名字。是由德国慕尼黑的Keil Elektronik GmbH和美国德克萨斯的Keil Software组成。Keil 软件是目前最流行开发51系列单片机的软件。支持c语言,汇编语言。

Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统。Keil 提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境将这些部分组合在一起。

Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全 Windows界面。

5 系统测试及功能说明

5.1 开发环境测试

首先启动Keil软件的集成开发环境,可以从桌面上直接双击uVision的图标以启动该软件。

UVison启动后,程序窗口的左边有一个工程管理窗口,该窗口有3个标签,分别是Files、Regs、和 Books,这三个标签页分别显示当前项目的文件结构、CPU的寄存器及部份特殊功能寄存器的值(调试时才出现)和所选CPU的附加说明文件。

在设置好工程后,即可进行编译、连接。选择菜单Project->Build target,对当前工程进行连接,如果当前文件已修改,软件会先对该文件进行编译,然后再连接以产生目标代码;如果选择Rebuild All target files将会对当前工程中的所有文件重新进行编译然后再连接,确保最终生产的目标代码是最新的,而Translate….项则仅对该文件进行编译,不进行连接。

以上操作也可以通过工具栏按钮直接进行。图5-1是有关编译、设置的工具栏按钮,从左到右分别是:编译、编译连接、全部重建、停止编译和对工程进行设置。

在这里插入图片描述
图5-1 工具栏视图

编译过程中的信息将出现在输出窗口中的 Build 页中,如果源程序中有语法错误,会有错误报告出现,双击该行,可以定位到出错的位置。

在这里插入图片描述
图5-2 Build页输出窗口

对源程序反复修改之后,最终会得到如图5-2所示的结果,提示获得了名为test.hex的文件,该文件即可被编程器读入并写到芯片中。
同时还产生了一些其它相关的文件,可被用于Keil的仿真与调试,这时可以进入下一步调试的工作。

在这里插入图片描述
图5-3 编译结果输出窗口

Keil4开发环境是STM32MCU的开发环境,编写程序判断接收到的数据是否为光敏传感器,我们用Modbus数据的第03个字节作为传感器类型,当为0x2A时候表示光敏传感器。
在这里插入图片描述
图5-4 光敏传感器代码示例

串口调试工具是一款通讯串口调试软件,这款软件窗口中支持串口设置、选择串口、数据位、校验位以及停止位等参数。初次使用串口调试工具的用户,选择端口号

在这里插入图片描述
图5-5 串口调试工具

插好串口线,在windows桌面界面,在计算机图标上点击右键选择设备管理器进入如下图所示界面,点击端口(COM和LPT),就会出现现在计算机上正在使用的串口编号。

在这里插入图片描述
图5-6 设备管理器

Modbus数据格式举例:
发送指令:02 03 00 2C 00 01 45 f0
02 :表示设备地址
03 :功能码,表示读取数据
00 2C:读取开始的地址
00 01:表示读取多少个寄存器,1个寄存器有2个字节
45 f0: 由前面数据通过CRC-16计数得来的校验码

返回数据:02 03 02 00 00 FC 44
02 :表示从地址为02的设备返回
03 :表示返回的数据是读取
02 :表示2个有效字节
00 00 :就是2个有效字节
FC 44 :由前面数据通过CRC-16计数得来的校验码

5.2 功能测试

在功能测试前,准备连接带有STM32芯片节点的硬件、电脑、J-LINK、串口线等;编写实验源代码及下载代码,将光敏传感器安装在8号节点上,打开Keil集成开发环境,打开光敏传感器实验工程文件。编译整个工程,将生成Test.hex可执行文件。把J-LINK与节点、电脑连接,点击左上角的将程序下载到节点板,使用配套的串口线将计算机串口与8号节点的DB9串口接头相连,将节点右下角上的白色三位拨打开关拨至左边,给节点重新上电,打开串口调试工具程序,打开正确的端口,进行9600-8-N-1设置,打开串口,就可以与芯片进行数据交互了。功能使用流程如图5-1所示。

在这里插入图片描述
图5-7 功能使用流程图

第一步:打开Keil集成开发环境和Test.uvproj工程文件,编译整个工程,生成Test.hex可执行文件,如图5-8所示。

在这里插入图片描述
图5-8 编译工程文件

第二步:把J-LINK与节点、电脑连接,将程序下载到节点板,使用配套的串口线将计算机串口与8号节点的DB9串口接头相连,如图5-9所示

在这里插入图片描述
图5-9 连接串口设备

第三步:配置节点地址,发送:FF 30 00 0B 00 01,返回:FF 30 00 0B 00 01如图5-10所示:

在这里插入图片描述
图5-10 配置节点地址

第四步:获取传感器数据,相应的光敏传感器的AD值指令数据如5-11图所示:

在这里插入图片描述
图5-11 获取传感器数据

5.3 结果分析

AD模数转换是将传感器输出的信号(电压、电流、应变、温度等人可以直观认知的信号)转换成计算机系统能够识别的数字量,用于数据的采集。相对应的还有DA转换,将数字信号转换为模拟信号,输出给控制执行机构用于控制。这些跟数据采集系统有关。

STM32的ADC精度为12位,则最大值为4096。采集到的AD值与电压成线性对应关系,系统中最高的电压值为3.3V的电源电压,它与4096对应使用ADC算出光敏电阻的值。

光照强度是指单位面积上所接受可见光的能量,简称照度,单位勒克斯(Lux或lx),常见环境的光照强度值如表5-1。

表5-1常见环境的光照强度值对应表

场所/环境光照强度(lux)场所/环境 光照强度(lux)
晴天室内100~1000办公室/教室 300~500
阴天室内5~50餐厅 10~30
月圆夜室外0.2距60W台灯60cm 300

串口调试工具手动发送数据:08 03 00 2A 00 01 a5 5b,返回:08 03 02 0D 8F 21 71,其中0D 8F就是采集光敏传感器的AD值,不同光照条件下这个值会相应不同,计算出光照强度。

6 总结

本次课程设计是完成一个基于 STM32 的光敏传感器数据采集系统,利用 STM32F103 系列处理器完成光敏传感器相关数据的采集和分析处理,并通过串口通信将处理之后的数据传输到上位机软件进行显示,通过C语言编程和调试完成上述功能,同时通过课程设计的综合训练。

课程设计初期遇到了很多困难,不知道从何下手,在同学的帮助和自己摸索的情况下还是完成了这次课程设计,从中认识到以我们现在的经验,不学到一定的深度和广度是难以在实际工作中应付自如的。因此反映出学习的还不够,缺点疏漏。需在加以刻苦钻研及学习,不断开拓视野,增强自己的实践操作技能。

这次课程设计,加深了我们对光敏传感器理解;物联网的知识很深奥,仅靠课本是远远不够的,我们将出现的所有错误都写成了博客发布到CSDN上,总结经验,不断提升自己的能力。

参考文献

[1] 王志强.基于STM32温度及光敏无线传感器设计[J].电子测试,2022(03):46-49.DOI:10.16520/j.cnki.1000-8519.2022.03.033.
[2] 梁一啸,刘志欣,范恩,蒋忠莉,邓贵妃.基于多传感器的温室环境监测系统设计与实现[J].物联网技术,2022,12(02):16-19.DOI:10.16667/j.issn.2095-1302.2022.02.004.
[3] 张朝龙,董甲东,江善和,张诗霞,王实,路健.“传感器与检测技术”虚拟实验教学平台建设[J].安庆师范大学学报(自然科学版),2021,27(03):101-104.DOI:10.13757/j.cnki.cn34-1328/n.2021.03.020.
[4] 汤梓日,张杰波,田秀云,王文华.基于光敏传感器的汽车远光灯智能避让系统[J].电子测试,2020(24):13-16.DOI:10.16520/j.cnki.1000-8519.2020.24.003.
[5] 张佳,蔡涛,王高原.基于光敏电阻的传感器实验设计与实现[J].实验技术与管理,2020,37(11):42-47.DOI:10.16791/j.cnki.sjg.2020.11.009.
[6] 曾号轩. 可拉伸近红外光敏晶体管传感器芯片的研制[D].深圳大学,2020.DOI:10.27321/d.cnki.gszdu.2020.002421.
[7] 陈国玉,林旭,李源,顾秉栋.光敏传感器实验课程改革探索与研究[J].科技创新与生产力,2020(03):79-82.
[8] 侯秀丽,姚小芳.光电传感器在物联网系统中的应用研究[J].科技创新导报,2020,17(05):125-126.DOI:10.16660/j.cnki.1674-098X.2020.05.125.
[9] 王沁. 基于光敏传感器和摄像头的组合室内定位方法的设计与实现[D].东南大学,2019.DOI:10.27014/d.cnki.gdnau.2019.002892.
[10] 罗涛,王晓娜,宋世德.光敏传感器智能寻光小车的设计与制作[J].实验科学与技术,2019,17(04):25-29.
[11] 张永超,赵录怀,顾博才,鹿伟强.基于光敏传感器和差分电路的开关柜放电检测[J].山东农业大学学报(自然科学版),2018,49(05):871-874.
[12] 王天会,李昂,王丹,芦明霞.光敏传感器基本特性与应用教学研究[J].实验技术与管理,2017,34(05):170-173+177.DOI:10.16791/j.cnki.sjg.2017.05.042.
[13] 孙紫薇.光敏电阻、热敏电阻等传感器在生活中的应用[J].课程教育研究,2016(28):216-217.
[14] 李俊男,苏杨,薛端,王君贤.基于STM32温度及光敏无线传感器设计[J].中国科技信息,2016(09):83-86+16.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于STM32的光敏传感器数据采集系统-嵌入式系统与设计课程设计 的相关文章

  • docker容器的时间和宿主机时间不一致相差8小时

    目录 问题分析前提条件方法一 xff1a 启动时进行映射方法二 xff1a 复制时区信息到容器 96 SpringBoot项目通过docker run映射时区无效 xff0c 需要通过如下代码设定 96 问题分析 在docker容器和系统时
  • STC51单片机-双机串口通讯-物联网应用系统设计

    目录 一 说明二 重点三 实现四 下载 此项目是作为单片机应用系统设计 xff0c 通过STC单片机实验开发装置的结构 原理电路 以及其所能实现的功能和应用 xff0c 建立单片机实现多功能综合应用系统的整体概念 xff0c 打下实际工程项
  • STC51单片机-实验开发装置仿真-物联网应用系统设计

    目录 一 说明二 重点三 实现四 下载 此项目是作为单片机应用系统设计 xff0c 通过STC单片机实验开发装置的结构 原理电路 以及其所能实现的功能和应用 xff0c 建立单片机实现多功能综合应用系统的整体概念 xff0c 打下实际工程项
  • PCB设计及制作-数字钟-物联网应用系统设计项目开发

    目录 一 说明二 重点三 实现四 下载 一 说明 用Altium Designer软件绘制数字钟的原理图 xff0c 加载元器件对于元件库中没有的器件和封装 xff0c 能够通过网络资源找到器件手册并自行绘制根据原理图绘制PCB图 xff0
  • Java软件工程师职位分析

    目录 一 职业岗位分析二 行业背景分析三 环境分析四 职业发展路径五 职业规划分析 一 职业岗位分析 Java属于编程语言的核心语言 xff0c 很多公司都在用Java xff0c Java语言开发优势显著稳定性好 xff0c 在服务器端J
  • Tomcat SEVERE: Failed to initialize end point associated with ProtocolHandler [“http-bio-8080“] 异常处理

    目录 一 异常错误二 原因三 解决方法 一 异常错误 Maven启动tomcat run时 xff0c 出现 SEVERE Failed to initialize end point associated with ProtocolHan
  • Gradle ERROR: JAVA_HOME is set to an invalid directory: D:\Software\Java\JDK9.0.4;异常处理

    目录 一 异常错误二 原因三 解决方法 一 异常错误 配置gradle环境 xff0c 验证gradle并显示版本时出错 ERROR JAVA HOME is span class token builtin class name set
  • Eclipse IDE for Java Developers没有Server选项 问题处理

    目录 一 出现问题二 原因三 解决方法1 可安装自带 Server 选项的Eclipse Java EE 版本2 或者通过Eclipse Java 版本安装插件 一 出现问题 当Eclipse需要打开Runtime Environment配
  • XML语言的基本语法-Java Web

    目录 一 说明二 理解三 实现 一 说明 XML xff08 eXtended Markup Language xff0c 可扩展的标记性语言 xff09 被设计用来定义结构 传输和存储数据 xff0c 不用于表现和展示数据 xff0c 目
  • 实现一个进程管理子系统-Linux课程设计

    目录 1 项目概述1 1 项目介绍1 2 项目目的1 3 项目开发环境 2 需求分析2 1 系统需求分析2 2 可行性分析2 3 项目实施安排 3 系统设计3 1 系统结构设计3 2 系统功能模块设计3 3 进程总体设计3 4 数据结构3
  • LeetCode 14. 最长公共前缀

    题目 编写一个函数来查找字符串数组中的最长公共前缀 如果不存在公共前缀 xff0c 返回空字符串 详见 xff1a 14 最长公共前缀 思路 依次遍历字符串数组中的每个字符串 xff0c 将每个单词和第一个单词作比较 xff0c 对于每个遍
  • 删除对象里的一个字段的方法

    原数据 34 current 34 1 34 pageSize 34 10 34 pageNum 34 1 34 labLocationId 34 undefined 删除labLocationId字段的方法 if params labLo
  • LeetCode 912. 排序数组

    题目 给你一个整数数组 nums xff0c 请你将该数组升序排列 详见 xff1a 912 排序数组 思路 排序是计算机内经常进行的一种操作 xff0c 其目的是将一组 无序 的记录序列调整为 有序 的记录序列 分内部排序和外部排序 xf
  • LeetCode 190. 颠倒二进制位

    题目 颠倒给定的 32 位无符号整数的二进制位 提示 xff1a 请注意 xff0c 在某些语言 xff08 如 Java xff09 中 xff0c 没有无符号整数类型 在这种情况下 xff0c 输入和输出都将被指定为有符号整数类型 xf
  • LeetCode 387. 字符串中的第一个唯一字符

    题目 给定一个字符串 s xff0c 找到 它的第一个不重复的字符 xff0c 并返回它的索引 如果不存在 xff0c 则返回 1 详见 xff1a 387 字符串中的第一个唯一字符 思路 哈希存储出现次数 xff0c 第一次遍历字符串 x
  • LeetCode 26. 删除有序数组中的重复项

    题目 给你一个 升序排列 的数组 nums xff0c 请你 原地 删除重复出现的元素 xff0c 使每个元素 只出现一次 xff0c 返回删除后数组的新长度 元素的 相对顺序 应该保持 一致 由于在某些语言中不能改变数组的长度 xff0c
  • LeetCode 19. 删除链表的倒数第 N 个结点

    题目 给你一个链表 xff0c 删除链表的倒数第 n 个结点 xff0c 并且返回链表的头结点 输入 xff1a head 61 1 2 3 4 5 n 61 2 输出 xff1a 1 2 3 5 详见 xff1a 19 删除链表的倒数第
  • LeetCode 剑指 Offer 58 - II. 左旋转字符串

    题目 字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部 请定义一个函数实现字符串左旋转操作的功能 比如 xff0c 输入字符串 34 abcdefg 34 和数字2 xff0c 该函数将返回左旋转两位得到的结果 34 cdef
  • LeetCode 1550. 存在连续三个奇数的数组

    题目 给你一个整数数组 arr xff0c 请你判断数组中是否存在连续三个元素都是奇数的情况 xff1a 如果存在 xff0c 请返回 true xff1b 否则 xff0c 返回 false 输入 xff1a arr 61 2 6 4 1
  • LeetCode 922. 按奇偶排序数组 II

    题目 给定一个非负整数数组 nums xff0c nums 中一半整数是 奇数 xff0c 一半整数是 偶数 对数组进行排序 xff0c 以便当 nums i 为奇数时 xff0c i 也是 奇数 xff1b 当 nums i 为偶数时 x

随机推荐

  • 【CSDN竞赛第五期】编程竞赛体验感受

    建议以及感受 比赛当天网站直接崩溃 xff0c 体验极差 xff0c 直到中午才修好有些题意的输入输出并不明确在线IDE不完善也不好用 xff0c 很多bug详见竞赛讨论贴完赛没有官方题解 xff0c 或者说讨论题解的人很少领取奖励还需要撰
  • 猿创征文|我是怎么学习编程的?

    目录 一 xff0e 学习场景以及障碍1 xff0e 学习场景分两种人2 xff0e 过入门槛三大障碍 二 xff0e 入门以后需要做什么1 xff0e 找方向2 xff0e 学习3 xff0e 聚焦 我是怎么学习编程的 xff1f 每一位
  • 卸载与安装numpy

    一 卸载 pip uninstall numpy 二 安装 找到目录 D python Lib site packages pip install numpy 1 15 4 43 mkl cp35 cp35m win amd64 whl
  • Windows Update MiniTool 20.12.2016 控制Window更新下载及使用教程

    目录 一 下载教程1 wumt官网下载2 网盘下载 二 Windows更新配置1 检查更新2 下载或安装更新3 隐藏更新4 卸载更新5 禁用自动更新 Windows Update MiniTool 是由俄罗斯人编写的第三方Windows更新
  • 1:Web开发入门-Java Web

    目录 1 1 什么是Web应用程序1 2 B S架构1 3 静态Web与动态Web1 4 Java EE介绍1 5 Java EE架构与组件1 6 Java EE中的容器1 7 XML介绍1 8 XML与HTML的区别1 9 XML的实现
  • 华为开源自研AI框架昇思MindSpore CPU-Ubuntu版本 Pip自动安装教程

    目录 一 介绍二 获取命令1 进入MindSpore官网2 选择安装版本3 获取命令 三 自动安装1 确保为Ubuntu系统2 下载自动安装脚本3 执行自动安装脚本4 验证安装 本教程是在CPU Ubuntu上安装MindSpore1 8
  • 2:开发环境搭建-Java Web

    目录 2 1 Web服务器的作用2 2 Tomcat简介2 3 Tomcat服务器安装与使用2 4 Tomcat目录结构2 5 Tomcat配置文件2 6 修改Tomcat默认端口 2 1 Web服务器的作用 Web服务器也称为WWW WO
  • 3:Tomcat部署Web项目-Java Web

    目录 3 1 Web 应用程序3 2 部署Web项目3 3 配置虚拟目录3 4 配置Web项目的首页 3 1 Web 应用程序 一个 web 应用程序是由一组 Servlet xff0c HTML 页面 xff0c 类 xff0c 以及其它
  • 1:Spring框架核心-Java Spring

    CSDN话题挑战赛第2期 参赛话题 xff1a 学习笔记 目录 1 1 软件模块化1 2 Spring框架介绍1 3 Spring框架的配置1 4 Servlet1 5 Spring容器1 6 Spring Bean对象的注解1 7 控制反
  • 2:Maven-Java Spring

    目录 2 1 Maven介绍2 2 标准目录结构2 3 POM2 4 Maven生命周期2 5 Maven插件 2 1 Maven介绍 Maven是Apache 下的一个纯 Java 开发的开源项目 基于项目对象模型 xff08 缩写 xf
  • 3:SpringBoot-Java Spring

    目录 3 1 SpringBoot介绍3 2 Spring和SpringBoot的区别3 3 系统要求3 4 SpringBootApplication 3 1 SpringBoot介绍 SpringBoot的本质是SpringFramew
  • 4:SpringBoot-Starter-Java Spring

    目录 4 1 SpringBoot Starter介绍4 1 Starter原理4 3 Starter依赖引入4 4 Starter配置 4 1 SpringBoot Starter介绍 Starter是SpringBoot的一种服务 xf
  • 5:SpringBoot-Actuator-Java Spring

    目录 5 1 SpringBoot Actuator介绍5 2 Endpoints 介绍5 3 Actuator原理5 4 Actuator依赖引入 5 1 SpringBoot Actuator介绍 Actuator是Spring Boo
  • Ubuntu 20.04 VNC 安装与设置

    原链接 VNC是一个远程桌面协议 按照本文的说明进行操作可以实现用VNC对Ubuntu 20 04进行远程控制 一般的VNC安装方式在主机没有插显示器的时候是无法使用的 下面的操作可以在主机有显示器和没有显示器时都能够正常工作 首先安装x1
  • 6:RestFul API-Java Spring

    目录 6 1 RestFul API介绍6 2 URL构成6 3 RestFul API原理6 4 RestFul API映射注解6 5 RestFul API操作 6 1 RestFul API介绍 Rest表示性状态转移 xff08 R
  • 7:JSON-Java Spring

    目录 7 1 JSON介绍7 2 JSON和XML的区别7 3 JSON的构成7 4 JSON的语法7 5 JSON parse 7 6 JSON stringify 7 1 JSON介绍 JSON即JavaScript 对象标记法 xff
  • 8:Spring MVC-Java Spring

    目录 8 1 WEB开发模式一8 2 WEB开发模式二8 3 Spring MVC介绍8 4 Spring MVC主要组件8 5 Spring MVC处理流程8 6 Spring MVC的HTTP请求方法 在Web开发中有两种主要的结构 x
  • 9:参数校验-Java Spring

    目录 9 1 参数校验介绍9 2 JSR3039 3 Hibernate Validator9 4 参数校验依赖引入 9 1 参数校验介绍 参数校验即保证数据的合法性 xff0c JCP组织定义了一个标准来规范化这个任务操作 xff0c 即
  • 江服校园导游咨询系统-数据结构课程设计

    目录 1 需求分析1 1 问题描述1 2 系统简介1 3 系统模块功能要求介绍1 4 系统开发环境及开发人员1 5 校园平面图 2 概要设计2 1 算法设计及存储结构说明2 2 系统功能设计 3 详细设计3 1 定义符号变量3 2 主程序模
  • 基于STM32的光敏传感器数据采集系统-嵌入式系统与设计课程设计

    目录 1 项目概述1 1 项目介绍1 2 项目开发环境1 3 小组人员及分工 2 需求分析2 1 系统需求分析2 2 可行性分析2 3 项目实施安排 3 系统硬件设计3 1 系统整体硬件电路设计3 2 STM32 最小系统电路设计3 3 传