从空气污染监测到嵌入式仿真教学:基于STM32与MQ135的实践探索
一、嵌入式系统在环境监测中的技术演进
随着全球城市化进程加速,世界卫生组织(WHO)数据显示,92%的人口长期暴露于超标PM2.5环境中。在此背景下,基于STM32微控制器的智能监测系统因其高性价比(单节点成本低于200元)和低功耗特性(典型工作电流<10mA),已成为环境物联网的核心组件。深圳航天科技创新研究院研发的嵌入式仿真实验教学平台(https://app.puliedu.com/)通过数字化手段,将传统需要价值数万元的实验室设备转化为可随时访问的云端资源,为高校教学提供了全新的技术实践路径。
二、MQ135传感器与STM32的协同工作机制
1. 气敏传感器的物理特性分析
MQ135传感器基于金属氧化物半导体(MOS)技术,其敏感材料SnO₂在洁净空气中的基准电阻值R0约为10-50kΩ。当接触氨气、苯系物等污染物时,表面吸附的氧离子与目标气体发生氧化还原反应,导致传感器电阻值Rs呈指数变化。典型响应曲线满足公式:
其中C为气体浓度,A、B为材料特性系数。在仿真平台中,用户可通过调节环境参数(),实时观察ADC采样值的非线性变化特征。
2. STM32F103的ADC子系统深度解析
该芯片搭载两个12位逐次逼近型ADC模块,支持1MHz转换速率和18个复用通道。关键配置参数包括:
-
时钟分频:APB2总线时钟经2/4/6/8分频后驱动ADC,直接影响采样率;
-
采样时间:可编程设置1.5~239.5周期,对应0.17μs~27.6μs(系统时钟72MHz时);
-
数据对齐:支持左对齐(直接读取高12位)或右对齐(需位移处理)。
平台内置的《STM32中文参考手册》详细说明了校准流程:上电后需执行至少10个时钟周期的校准周期,期间CAL位保持置位,校准因子自动存入ADC_DR寄存器。仿真环境可可视化展示采样保持电路的信号建立过程,这是实体实验难以观测的关键细节。
三、虚拟仿真平台的教学创新实践
1. 平台架构设计剖析
该平台采用三层架构设计:
硬件抽象层:精确模拟STM32外设寄存器组,误差率<0.1%;
物理引擎层:基于改进型龙格-库塔算法实现传感器动态模型;
交互层:提供示波器、逻辑分析仪等虚拟仪器界面。
以UART通信教学为例,学生可同时观察TX/RX引脚电平变化、数据帧结构和USART寄存器状态,实现多维度信号分析。某985高校实测数据显示,采用该平台后,学生对异步通信协议的理解效率提升42%,实验准备时间缩短76%。
2. 典型实验流程优化
传统ADC实验通常需要完成以下步骤:
- 焊接分压电路;
- 配置DMA通道;
- 调试参考电压稳定性。
而在仿真环境中,学生可直接修改ADC_SMPR2寄存器的SMP[2:0]位,实时观察不同采样时间下的量化误差变化。平台提供的自动报告生成功能,可对比分析8位/10位/12位分辨率下的信噪比(SNR)差异,该功能已被纳入多所高校的课程考核体系。
四、STM32开发生态的教学整合
仿真平台集成的资源库包含三大核心模块:
-
技术文档:涵盖《Cortex-M3内核架构》《STM32F10xxx参考手册》等多类技术文献。
-
案例库:包含GPIO中断、定时器PWM等上百个基础实验,以及CAN总线通信等多个高级项目。
-
调试工具:支持断点设置、变量监视和反汇编视图。
五、嵌入式仿真实验教学平台的创新优势解析
1. 寄存器级精度仿真
支持STM32F103全系列外设的位操作仿真,包括:
- 定时器PWM输出的边沿对齐仿真;
- DMA控制器的突发传输模式;
- 12位ADC的量化误差模拟(±0.5LSB);
- 实验数据显示,GPIO端口电平切换时序误差<5ns,达到真实硬件95%的仿真精度。
2. 动态环境建模技术
- 针对MQ135等传感器建立多物理场耦合模型;
- 支持环境参数动态调整(温度-20℃~60℃,湿度10%~90%RH)。
3. 全协议栈通信支持
实现UART/USART、SPI、I2C、CAN等协议的信号级仿真:
- UART波特率误差率<0.8%(相比实体芯片的典型值1.5%);
- I2C总线支持标准模式(100kHz)和快速模式(400kHz)。
六、高校教学场景的深度应用
虚实结合的创新教学模式
-
课前预习:学生通过Web端完成GPIO配置练习,平台自动生成错误分析报告。
-
课中实践:教师端可实时监控40组学生的ADC采样数据,动态调整实验难度。
-
课后拓展:开放平台API接口供创新项目使用,支持将实验数据导出至云端进行大数据分析。
七、嵌入式仿真实验教学平台的核心优势及教育价值
1. 高精度仿真引擎的技术突破
深圳航天科技创新研究院研发的嵌入式仿真实验教学平台,基于航天领域积累的复杂系统建模经验,构建了具备工业级精度的虚拟化环境。其核心仿真引擎采用混合式建模技术,实现了对STM32系列微控制器外设模块的位级精度模拟。以ADC模块为例,平台不仅模拟了12位分辨率的量化过程,还完整复现了采样保持电路的非线性特性,包括:
-
输入阻抗动态模型:支持1kΩ~10MΩ范围内的等效输入阻抗模拟;
-
参考电压波动补偿:精确模拟VREF+引脚±0.1%的电压波动对采样结果的影响;
-
时钟抖动效应:可设置1~50ps的时钟抖动参数,用于研究采样时序稳定性。
这种精度水平使得平台能够支持研究生层次的课题研究。某重点高校的对比测试表明,在PWM波形生成实验中,虚拟环境输出的脉冲宽度误差仅为实体硬件的2.3%,完全满足教学科研需求。
2. 开放式生态构建能力
平台通过模块化架构设计,形成了可扩展的技术生态:
- 设备模型库
已集成STM32F1/F4/H7全系列芯片模型,传感器库包含环境监测、运动感知、生物医学等6大类127种器件模型。
-
协议栈支持
-
通信协议:支持LoRaWAN、MQTT、CoAP等物联网协议的全栈模拟;
-
总线协议:CAN FD接口仿真精度达200Mbps,抖动控制<0.1UI。
-
-
产学研对接:提供企业级SDK开发包,支持将仿真项目无缝迁移至实体硬件。
八、平台的技术服务
教育机构以及社会开发者可通过深圳航天科技创新研究院官网(https://app.puliedu.com/)申请教育授权。
-
教学管理平台:支持课程编排、作业批改、学情分析等功能;
-
教学培训体系:提供STM32内核架构、仿真模型开发等专题研修;
-
持续更新服务:每季度发布新增设备模型和实验案例。
平台已在上百所高校开展常态化应用。最新发布的版本新增AI辅助编程功能,可基于自然语言描述自动生成外设初始化代码,显著降低初学者的入门门槛。欢迎亲自上手体验!
相关文章:
从空气污染监测到嵌入式仿真教学:基于STM32与MQ135的实践探索
一、嵌入式系统在环境监测中的技术演进 随着全球城市化进程加速,世界卫生组织(WHO)数据显示,92%的人口长期暴露于超标PM2.5环境中。在此背景下,基于STM32微控制器的智能监测系统因其高性价比(单节点成本低…...
【数据结构】Map与Set结构详解
数据结构系列五:Map与Set(一) 一、接口的实现 1.方法上 2.成员上 二、Map的内外双接口结构 1.实现 1.1外部Map接口的实现 1.1.1临摹整体 1.1.2外部类实现整体 1.2内部Entry接口的实现 1.2.1临摹内部 1.2.2内部类实现内部 2.关系 3.意义 3.1逻辑内聚 …...
银河麒麟(内核CentOS8)安装rbenv、ruby2.6.5和rails5.2.6
一、安装 rbenv 和 ruby-build 1.安装 rbenv git clone https://github.com/rbenv/rbenv.git ~/.rbenv 2. 添加 rbenv 到 PATH echo export PATH"$HOME/.rbenv/bin:$PATH" >> ~/.bashrc echo eval "$(rbenv init -)" >> ~/.bashrc source ~…...
豆包桌面版 1.47.4 可做浏览器,免安装绿色版
自己动手升级更新办法: 下载新版本后安装,把 C:\Users\用户名\AppData\Local\Doubao\Application 文件夹的文件,拷贝替换 DoubaoPortable\App\Doubao 文件夹的文件,就升级成功了。 再把安装的豆包彻底卸载就可以。 桌面版比网页版…...
Linux 命令行与 vi/vim 编辑器完全指南
一、Linux 命令行基础 (一)命令与命令行简介 命令:Linux 系统内置的操作指令,以字符化形式使用,用于指示系统执行特定任务。 命令行(终端):提供字符化的操作界面,用户通…...
海量聊天消息处理:ShardingJDBC分库分表、ClickHouse冷热数据分离、ES复合查询方案、Flink实时计算与SpringCloud集成
海量聊天消息处理:ShardingJDBC分库分表、ClickHouse冷热数据分离、ES复合查询方案、Flink实时计算与SpringCloud集成 一、背景介绍 每天有2000万条聊天消息,一年下来几千万亿海量数据。为应对这种规模的数据存储和处理需求,本文将从以下几…...
金融系统上云之路:云原生后端架构在金融行业的演化与实践
📝个人主页🌹:一ge科研小菜鸡-CSDN博客 🌹🌹期待您的关注 🌹🌹 一、引言:为什么金融行业也要“云原生”? 金融行业素来以“安全第一、稳定优先”著称,面对每日亿级交易请求、秒级风控响应、PB级数据处理,系统稳定性和性能要求极高。长期以来,大型金融机构往…...
每日c/c++题 备战蓝桥杯 ([洛谷 P1226] 快速幂求模题解)
[洛谷 P1226] 快速幂求模题解 📌 题目链接 https://www.luogu.com.cn/problem/P1226 📝 题目描述 给定正整数 a、b 和质数 p,要求计算: a^b % p其中: 1 ≤ a ≤ 10^90 ≤ b ≤ 10^92 ≤ p ≤ 10^9 💡…...
深度学习小记(包括pytorch 还有一些神经网络架构)
这个是用来增加深度学习的知识面或者就是记录一些常用的命令,会不断的更新 import torchvision.transforms as transforms toPIL transforms.ToPILImage()#可以把tensor转换为Image类型的 imgtoPIL(img) #利用save就可以保存下来 img.save("/opt/data/private/stable_si…...
Spring Boot默认缓存管理
Spring框架支持透明地向应用程序添加缓存,以及对缓存进行管理,其管理缓存的核心是将缓存应用于操作数据的方法,从而减少操作数据的执行次数,同时不会对程序本身造成任何干扰。Spring Boot继承了Spring框架的缓存管理功能ÿ…...
倚光科技:微透镜阵列低成本加工新范式
在光通信、机器视觉、生物医学成像等前沿领域,微透镜阵列凭借其独特的光学特性成为不可或缺的核心部件。然而,传统加工方式往往面临成本高、效率低、精度难控等困境。倚光科技深耕光学加工领域多年,创新运用单点金刚石车床技术,成…...
Vue+Flask豆瓣LSTM影评+推荐算法大数据可视化平台深度学习系统源码
文章结尾部分有CSDN官方提供的学长 联系方式名片 文章结尾部分有CSDN官方提供的学长 联系方式名片 关注B站,有好处! 编号: F011 视频介绍 VueFlask豆瓣LSTM影评推荐算法大数据可视化平台深度学习系统源码(2023重制) 1…...
【MySQL】基本查询
目录 增加 查询 基本查询 where子句 结果排序 筛选分页结果 修改(更新) 删除 普通删除 截断表 插入查询结果 聚合函数 分组查询 这一节的内容是对表内容的增删查改,其中重点是表的查询 增加 语法: INSERT [INTO] table_name [(column [, …...
hive默认的建表格式
在 Hive 中创建表时,默认的建表语法格式如下: CREATE TABLE table_name (column1_type,column2_type,... ) ROW FORMAT DELIMITED FIELDS TERMINATED BY , STORED AS TEXTFILE;在这个语法中: CREATE TABLE table_name:指定要创建…...
配置RSUniVLM环境(自用)
首先git clone这个仓库,但是好像不太行,就直接下载下来吧 创个容器弄,容器里需要conda gpu 镜像的话 在dockerhub找到了一个:docker pull vkashyap10/llava-next 下载在了 ssh root10.12.107.240 amos123 这个机器上。等会看…...
产品经理对于电商接口的梳理||电商接口文档梳理与接入
接口梳理7个注意点总结 ①注意要测试环境和生产环境。生产上线时候要提醒研发换到生产环境调用。 ②注意必输字段和选输字段,要传入字段的含义和校验。枚举值不清楚含义的要询问对方含义,比如说单据类型字段枚举值是B2C发货单,BBC发货单&am…...
深入探索Spark-Streaming:从Kafka数据源创建DStream
在大数据处理领域,Spark-Streaming是一个强大的实时流处理框架,而Kafka作为高性能的分布式消息队列,二者结合能实现高效的数据处理。今天就来聊聊Spark-Streaming中从Kafka数据源创建DStream的相关知识。 早期,Spark-Streaming通过…...
R 语言科研绘图第 41 期 --- 桑基图-基础
在发表科研论文的过程中,科研绘图是必不可少的,一张好看的图形会是文章很大的加分项。 为了便于使用,本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中,获取方式: R 语言科研绘图模板 --- sciRplothttps://mp.…...
基于STM32的汽车主门电动窗开关系统设计方案
芯片和功能模块选型 主控芯片 STM32F103C8T6:基于 ARM Cortex - M3 内核,有丰富的 GPIO 接口用于连接各类外设,具备 ADC 模块可用于电流检测,还有 CAN 控制器方便实现 CAN 总线通信。它资源丰富、成本低,适合学生进行 DIY 项目开发。按键模块 轻触按键:用于控制车窗的自…...
Spring Boot 配置处理器深度解析:元数据驱动的工程实践
Spring Boot 配置处理器深度解析:元数据驱动的工程实践 引言:为什么关注配置处理器? 在 Spring Boot 中,spring-boot-configuration-processor 是支撑“配置即文档”“配置即代码”的基础设施。它通过编译期生成结构化的配置元数…...
深入详解人工智能数学基础——概率论中的贝叶斯深度学习
🧑 博主简介:CSDN博客专家、CSDN平台优质创作者,高级开发工程师,数学专业,10年以上C/C++, C#, Java等多种编程语言开发经验,拥有高级工程师证书;擅长C/C++、C#等开发语言,熟悉Java常用开发技术,能熟练应用常用数据库SQL server,Oracle,mysql,postgresql等进行开发应用…...
Bandizip解压缩软件 v7.37 正式版解锁专业版
软件介绍 Bandizip 是一款专业的解压缩软件,号称解压速度最快的压缩和解压缩文件管理器。支持多核快速压缩、文件拖放,可创建带密码和多卷的压缩包,提取包括RAR/RAR5/7Z/ZIP在内30多种格式;支持WinZip、7-Zip和WinRAR及其它压缩格…...
算法笔记.spfa算法(bellman-ford算法的改进)
题目:(来源于AcWing) 给定一个 n 个点 m 条边的有向图,图中可能存在重边和自环, 边权可能为负数。 请你求出 1 号点到 n 号点的最短距离,如果无法从 1 号点走到 n 号点,则输出 impossible。 …...
HTML给图片居中
在不同的布局场景下,让 <img> 元素居中的方法有所不同。下面为你介绍几种常见的居中方式 1. 块级元素下的水平居中 如果 <img> 元素是块级元素(可以通过 display: block 设置),可以使用 margin: 0 auto 来实现水平居…...
C#中用 OxyPlot 在 WinForms 实现波形图可视化(附源码教程)
今天给大家安利一个超级实用的绘图控件库——OxyPlot,配合WinForms使用,让你轻松绘制专业级图表! 本文将手把手教你如何搭建一个简单的波形图显示窗口,完整步骤 源码解析,建议收藏! 项目搭建步骤…...
arm-linux emmc镜像备份 和 rootfs镜像备份
介绍 对于系统镜像存储介质,我们更推荐使用eMMC, eMMC具有更快的读写速度和更高的稳定系, 而SD卡会有兼容性较差的问题, 使用部分品牌部分系列的SD卡会导致系统无法启动或运行异常。 另外,安卓系统镜像无法运行在SD卡上。 注意事项 使用野火LubanCat的镜像烧录到SD卡, 只…...
opencv--图像变换
图像变换 图像滤波用于处理像素(去噪),从而改变图像质量。 图像的几何变换是指改变图像的几何位置、几何形状、几何尺寸等几何特征。 <详细了解,看opencv书> 概念 矩阵的运算 链接 齐次坐标 链接 齐次坐标就是用N1维来代表N维坐标ÿ…...
C语言基础(day0424)
目录 一. 键盘输入 1.1 grtchar() 1.2 scanf() 总结: 二. 全局变量/局部变量(函数的分类) 1.全局变量 2.局部变量 三.C语言内存模型(堆栈内存and so on ) 3.1 栈区&#x…...
前端项目搭建集锦:vite、vue、react、antd、vant、ts、sass、eslint、prettier、浏览器扩展,开箱即用,附带项目搭建教程
前端项目搭建集锦:vite、vue、react、antd、vant、ts、sass、eslint、prettier、浏览器扩展,开箱即用,附带项目搭建教程 前言:一、Vue项目下载快速通道二、React项目下载快速通道三、BrowserPlugins项目下载快速通道四、项目搭建教…...
Next.js v15 eslint 规则配置
问题 An empty interface declaration allows any non-nullish value, including literals like 0 and "". If that’s what you want, disable this lint rule with an inline comment or configure the ‘allowInterfaces’ rule option.If you want a type meanin…...
【C语言经典算法实战】:从“移动距离”问题看矩阵坐标计算
🎁个人主页:User_芊芊君子 🎉欢迎大家点赞👍评论📝收藏⭐文章 🔍系列专栏:AI 【前言】 在C语言算法学习与实践领域中,矩阵相关问题是极具代表性且高频出现的题型。“移动距离”问题将…...
算法题(133):二维差分
审题: 本题需要我们多次对某个矩形区域的数据加k,最后输出加完的数据 思路: 方法一:二维差分 本题涉及的是对二维的区间加同一个数的操作,且只显示一次最终结果,所以我们可以使用差分的方法 二维差分的性质…...
java kafka
安装 安装下载 导入依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apach…...
数据结构【树和二叉树】
树和二叉树 前言1.树1.1树的概念和结构1.2树的相关术语1.3树的表示方法1.4 树形结构实际运用场景 2.二叉树2.1二叉树的概念和结构2.2二叉树具备以下特点:2.3二叉树分类 3.满二叉树4.完全二叉树5.二叉树性质6.附:树和二叉树图示 前言 欢迎莅临姜行运主页…...
.NET代码保护混淆和软件许可系统——Eziriz .NET Reactor 7
.NET代码保护混淆和软件许可系统——Eziriz .NET Reactor 7 1、简介2、功能特点3、知识产权保护功能4、强大的许可系统5、软件开发工具包6、部署方式7、下载 1、简介 .NET Reactor是用于为.NET Framework编写的软件的功能强大的代码保护和软件许可系统,并且支持生成…...
运维打铁:Centos 7使用yum安装 Redis 5
文章目录 一、安装前信息说明二、安装 Redis三、创建 Redis 相关数据目录四、启动 Redis 服务五、修改 Redis 数据目录和端口1. 修改 Redis 配置文件 /etc/redis.conf2. 拷贝数据到数据目录并授权3. 重启 Redis 并连接访问 六、常见问题及解决办法1. Redis 安装失败2. Redis 服…...
【蓝桥杯】可分解的正整数
可分解的正整数 定义一种特殊的整数序列,这种序列由连续递增的整数组成,并满足以下条件: 序列长度至少为 3。序列中的数字是连续递增的整数(即相邻元素之差为 1),可以包括正整数、负整数或 0。 例如&…...
长城杯铁人三项初赛-REVERSE复现
前言 记录记录 1.LoginToMe int __fastcall main(int argc, const char **argv, const char **envp) {unsigned int v3; // eaxchar s[96]; // [rsp10h] [rbp-70h] BYREFint v6; // [rsp70h] [rbp-10h]int v7; // [rsp78h] [rbp-8h]int i; // [rsp7Ch] [rbp-4h]memset(s, 0, s…...
与终端同居日记:Shell交响曲の终极共舞指南
前言: 《与终端同居日记》特别篇:当文件们开始叠罗汉 亲爱的压缩包驯兽师: 欢迎来到「文件马戏团」!在这里,zip是那个强迫症整理狂,tar是爱玩俄罗斯套娃的魔法师,而gzip——绝对是偷偷给文件喝…...
学习threejs,使用EffectComposer后期处理组合器(采用RenderPass、ShaderPass渲染通道),案例一
👨⚕️ 主页: gis分享者 👨⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️THREE.EffectComposer 后期…...
【AI 加持下的 Python 编程实战 2_10】DIY 拓展:从扫雷小游戏开发再探问题分解与 AI 代码调试能力(中)
文章目录 DIY 实战:从扫雷小游戏开发再探问题分解能力3 问题分解实战(自顶向下)3.2 页面渲染逻辑3.3 事件绑定逻辑 4 代码实现(自底向上)4.1 页面渲染部分4.2 事件绑定部分 写在前面 本篇将利用《Learn AI-assisted Py…...
【数据可视化-27】全球网络安全威胁数据可视化分析(2015-2024)
🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…...
Cephalon端脑云:神经形态计算+边缘AI·重定义云端算力
前引:当算力不再是“奢侈品” ,在人工智能、3D渲染、科学计算等领域,算力一直是横亘在个人与企业面前的“高墙”。高性能服务器价格动辄数十万元,专业设备维护成本高,普通人大多是望而却步。然而,Cephalon算…...
CSS简单实用的加载动画、骨架屏有效果图
效果图 .wxml <!-- 骨架屏 --> <view wx:for"{{skeleton}}" wx:key"index" class"container center" style"--w:{{item.w}}rpx;--h:{{item.h}}rpx" /> <!-- 加载 --> <view class"arco-loading center&quo…...
图论算法体系:并查集、生成树、排序与路径搜索全解析
从图论的基础理论入门,到深搜广搜搭建起图论的骨架。 从并查集到最小生成树,从拓扑排序到最短路径。 .... 群星璀璨😉 并查集最小生成树 Prim算法Kruskal算法 拓扑排序(kahn算法)最短路径 Dijkstra算法 Dijkstra朴素Di…...
OpenAI为何觊觎Chrome?AI时代浏览器争夺战背后的深层逻辑
目录 引言:一场蓄谋已久的"蛇吞象"计划 一、Chrome:数字世界的"黄金入口" 1.1 用户规模对比:ChatGPT与Chrome的悬殊差距 1.2 Chrome的生态价值远超浏览器本身 二、OpenAI的"入口焦虑"与战略布局 2.1 AI时…...
DrissionPage 请求一次换一个代理(不重启chrome)
实现原理:通过插件实现 # !/usr/bin/python3 # -*- coding:utf-8 -*- """ author: JHC000abcgmail.com file: switch_ip.py time: 2025/4/23 22:05 desc:"""R""" 1. chrome s商店下载Proxy SwitchyOmega 3 (ZeroOme…...
JBoltAI 赋能金融文档:基于 RAG 的基金招募说明书视觉增强方案
在金融领域,基金招募说明书是投资者了解基金产品关键信息的重要文件。然而,这类文件通常以 PDF 格式呈现,内容繁杂、文本枯燥,对于普通投资者而言,理解起来存在一定难度。而如何利用 AI 技术对这类枯燥文本进行视觉增强…...
【玩转全栈】—— Django+vue3+讯飞星火API 实现前端页面实时AI答复
技术栈:vue3 element-plus axios pinia router Django5 websocket 讯飞星火API 本文将实现一个 AI 聊天对话功能,将前端用户输入问题以及之前对话发送给后端,通过 api 访问大模型,返回前端实时对话数据。 调用 讯飞星火API…...
1.1 java开发的准备工作(入门)
准备工作 一.JDK 开始写java程序之前需要安装jdk jdk是java开发工具,包含着JRE和里面的JVM(虚拟机,可以使得不同环境下都能运行Java程序),和开发工具。 二.了解写程序的三大步骤步骤 java成功运行主要需要经过代码编写,编译&a…...