新买的笔记本不敢强制关机?工程师教你正确操作姿势(含主板/硬盘防护指南)

电脑卡死只能强制关机?3种安全关机方案对比(附SSD保护技巧) 本文详细分析了电脑卡死时的三种安全关机方案,包括长按电源键、快捷键组合和物理断电,并对比了它们对SSD和机械硬盘的影响。特别提供了SSD保护技巧,如电源选型、BIOS设置和硬件级防护措施,帮助用户减少数据丢失风险并延长存储设备寿命。 阅读详情

新电脑到手,关机重启这些事你真的做对了吗?—— 一份来自硬件工程师的安心指南

刚拿到一台崭新的笔记本电脑,那种兴奋感还没持续多久,一种小心翼翼的“敬畏感”可能就随之而来。尤其是当系统偶尔卡顿、程序无响应时,面对那个小小的电源键,你会犹豫:该按下去吗?长按会不会把主板烧了?会不会损伤我宝贵的固态硬盘?这种“不敢下手”的焦虑,我太理解了。每天都有用户带着类似的问题找到我,他们并非技术专家,只是希望自己的重要伙伴——电脑——能健康长久地工作。

今天,我们就抛开那些晦涩难懂的专业术语,从一个硬件设计者和维护者的角度,把“关机”这件事彻底讲透。你会发现,正确的操作并非想象中那么复杂,而一些流传甚广的“常识”可能反而在误导你。我们的目标很简单:让你对自己的设备了如指掌,操作时心中有底,彻底告别那种战战兢兢的“新手焦虑”。

1. 电源按钮的“三重人格”:短按、长按与彻底断电

很多人把笔记本上的电源键看作一个简单的开关,就像电灯开关一样,“开”和“关”是它的全部使命。这其实是一个巨大的误解。在现代计算机体系里,这个按钮被设计成一个多功能的人机交互接口,它的行为取决于你与它互动的方式。

1.1 短按一下:系统级的“对话请求”

当你轻触电源键(通常小于0.5秒),你并没有直接命令硬件断电。这个动作产生的是一个可编程的中断信号,发送给主板上的嵌入式控制器(EC)和操作系统。

  • 在系统运行状态下:这个信号通常被操作系统(Windows/macOS/Linux)捕获,并触发预设的“电源按钮操作”。默认情况下,它会开始正常关机流程。你可以在系统设置里更改这个行为,比如让它进入睡眠或休眠。
  • 在系统关闭状态下:这就是最常用的开机动作。EC收到信号,开始执行上电时序,依次唤醒各个硬件模块。

注意:短按开机是绝对安全的标准化操作,其电路设计和上电时序经过了极其严格的测试,不会对硬件造成任何冲击。

1.2 长按不放:硬件的“强制接管”指令

这才是我们今天讨论的核心。当你持续按住电源键大约4到10秒(不同品牌时长略有差异),事情的性质就变了。

此时,操作系统可能已经卡死,无法响应任何指令。长按动作会触发一个硬件级别的强制关机序列。这个过程并非野蛮地拉闸断电,它依然是一个受控的流程:

  1. 信号触发:EC检测到持续的低电平(或高电平)信号,判定为强制关机请求。
  2. 广播通知:EC向主板上的主要芯片组和电源管理单元发送“紧急关机”通知。
  3. 有序下电:电源管理单元开始按照特定顺序,关闭供给CPU、内存、扩展设备等的各路电源轨(Power Rail)。这个顺序至关重要,目的是防止各部件在断电瞬间因电流回灌或电压不稳而受损。
  4. 最终断电:在所有次要电源关闭后,最后切断主板的主供电。

关键区别:与正常关机相比,强制关机跳过了操作系统的软件层。这意味着所有需要操作系统配合执行的“优雅退出”动作都没了:未保存的文档、正在写入的缓存数据、正在进行的系统更新……这些软件层面的任务会被强行中断。

为了更清晰地对比,我们来看一下不同触发方式下,系统各层级的响应情况:

戴尔G15笔记本不开机黑屏故障的芯片级维修全流程解析 笔记本主板供电系统是确保设备正常启动的核心模块,其工作原理涉及多路电压的精确转换与分配。在电子维修领域,掌握供电线路的检测方法和芯片级诊断技术具有重要价值,能够有效解决设备无法开机的典型故障。这类技术广泛应用于笔记本电脑、游戏本等移动设备的维修场景,特别是针对戴尔G15系列出现的整机不通电、完全黑屏问题。通过系统的供电检测流程,结合BGA焊接等精密操作,可以准确锁定并更换损坏的供电芯片,实现主板级修复。 阅读详情

相关推荐

Linux关机重启原理:从shutdown到systemd事务化控制

关机与重启是操作系统最基础却最易被误解的核心操作,其本质是系统状态的一致性迁移过程。在Linux中,它涉及内核调用、init系统演进(SysV init→systemd)、权限模型(polkit/setuid)、固件交互(UEFI启动项)及安全策略(SELinux/桌面拦截)等多层机制。理解`shutdown`命令的`-h`(halt)、`-r`(reboot)、`-P`(poweroff)参数差异,有助于区分‘暂停’‘重启’与‘断电’的语义边界;而`systemd中的reboot命令`通过事务化服务停止保

weixin_33725515的博客 667

电脑开机卡BIOS界面故障排查与修复指南

计算机开机自检(POST)是硬件初始化的重要过程,当出现BIOS界面卡顿时,往往意味着硬件检测或系统引导异常。从技术原理看,这涉及主板固件、硬件接口协议和存储设备引导机制的多层交互。工程师实践中常见内存接触不良、启动项配置错误等基础问题,通过CMOS清除、BIOS重置等标准化操作可解决大部分故障。对于UEFI引导损坏等复杂情况,需使用bootrec等系统工具重建引导记录。掌握这些故障处理方法不仅能快速恢复系统,还能深入理解计算机启动流程与硬件协同工作原理,是每位IT技术人员应具备的核心技能。

weixin_30698527的博客 374

BMC固件工程师实战:服务器带外管理与IPMI/Redfish核心技能

在嵌入式开发与服务器运维的交汇处,固件工程师不仅要掌握C语言与底层驱动,还要理解芯片级硬件特性与复杂协议栈。服务器主板上有一颗永不关机的BMC芯片,它独立于CPU与操作系统,通过IPMI、Redfish等标准协议实现远程开关机、健康监控、日志采集与固件升级。其核心价值在于“带外管理”——即使主机崩溃或断电,仍能保障远程管理通道可用。随着数据中心规模扩大,BMC固件安全日益关键,固件加密、签名验证与防回滚机制成为抵御攻击的必备防线。从传统IPMI到Redfish RESTful趋势,从OpenBMC开源方案到

weixin_34195364的博客 424

BMC固件工程师核心职责与实战排错指南:从嵌入式系统到服务器管理

在服务器和数据中心运维中,嵌入式系统与固件技术是硬件管理的基础。BMC(基板管理控制器)作为独立的带外管理单元,负责远程监控、电源控制与日志记录,其固件开发涉及BIOS协同、IPMI/Redfish协议栈及传感器管理。固件工程师需掌握Linux内核驱动、I2C总线调试及Yocto构建,同时应对固件升级、安全签名和防回滚机制。生产中常见问题如ipmitool报错“msg:ipmi0error,physlot:none,tag:,ptype:bmc”往往源于IPMB链路异常,而传感器读数跳变需结合i2c-too

weixin_34297704的博客 472

BMC固件工程师:服务器底层健康管理与IPMI/Redfish协议实现

BMC(基板管理控制器)是现代服务器的底层健康监护核心,其本质是嵌入式系统与硬件管理协议的深度结合体。它基于ARM架构运行精简Linux,通过IPMI 2.0和Redfish RESTful API实现带外管理,支撑远程重启、传感器监控、固件升级与安全启动等关键能力。技术原理涵盖三级安全启动链(ROM Code→BL2→U-Boot)、TrustZone可信执行环境、SPI Flash坏块管理及DMA级网络协议栈优化。其核心价值在于保障服务器在无人值守场景下的高可用性与故障自愈能力,广泛应用于云计算、边缘计

weixin_34258838的博客 412

Dell BIOS/UEFI配置全解析:从安全启动到性能调优实战指南

BIOS/UEFI是计算机硬件与操作系统之间的底层固件接口,负责初始化硬件、执行开机自检并提供基础配置环境。其核心原理在于通过固件代码建立硬件抽象层,为操作系统加载创造条件。随着技术演进,传统的Legacy BIOS已逐步被功能更强大、安全性更高的UEFI所取代。这一演进的技术价值在于支持更快的启动速度、更大的存储设备以及关键的安全启动特性。在工程实践中,BIOS/UEFI配置直接影响系统性能释放、硬件兼容性与数据安全,是服务器运维、个人电脑调优及解决系统启动故障的关键环节。例如,通过配置安全启动和虚拟化技

weixin_33709609的博客 776

戴尔G3开机卡logo别慌,长按电源键30秒的隐藏技巧

本文详细解析了戴尔G3开机卡logo问题的解决方法,重点介绍了长按电源键30秒的隐藏技巧及其原理(EC重置)。通过实战经验总结操作流程、常见误区及进阶排查方案,帮助用户快速恢复电脑正常运行,同时提供数据抢救和系统维护建议。

weixin_42563415的博客 583

服务器固件深度解析:BIOS、BMC、CPLD/PSoC原理与运维实战

固件是嵌入硬件设备的底层软件,负责最基础的硬件初始化、控制与管理。其工作原理在于,在操作系统启动前,通过执行固化在ROM中的代码,完成对CPU、内存、外设等核心硬件的检测、配置与引导,为上层系统提供稳定可靠的硬件平台。理解固件技术对于保障系统稳定性、实现高效运维与深度性能调优具有关键价值,尤其在服务器、数据中心等要求高可靠性的应用场景中。本文聚焦于服务器固件生态,深入剖析BIOS/UEFI这一系统启动基石如何执行POST流程,并详解BMC这一独立运维通道如何实现远程监控与管理。同时,文章将探讨CPLD与PS

aaa1231722的博客 378

BMC固件工程师实战指南:从寄存器编程到OCM标准适配

BMC(基板管理控制器)是服务器带外管理的核心嵌入式系统,其固件开发远超常规Linux驱动范畴,涉及裸机启动、IPMI/Redfish协议栈、硬件抽象层(HAL)、Secure Boot可信链及SDK深度定制等关键技术。它运行在资源严苛的ARM平台(如ASPEED AST2600),需兼顾实时性、可靠性与安全性,支撑风扇调控、传感器监控、KVM-over-IP、远程固件升级等关键功能。随着Open Compute Project(OCM)标准推广,BMC正从厂商私有方案走向统一HAL接口,对工程师提出跨芯片

axfcjwkbi259888707的博客 338

PowerPC架构硬件连接实战:从ATX电源到IDE接口的完整指南

计算机硬件连接是系统稳定运行的基础,其核心在于理解不同接口的电气规范与信号协议。从ATX电源接口的引脚定义到IDE总线的Master/Slave跳线设置,每一处物理连接都遵循着特定的工业标准。这些标准确保了不同厂商组件间的兼容性,对于嵌入式开发、工业控制系统维护以及复古计算平台重建具有重要价值。在非x86架构如PowerPC平台上,硬件连接逻辑与通用PC既有相似性又有特殊性,例如Pegasos II系统的前置USB接口中仅有一个端口实际可用,而IDE启动硬盘必须设置为主设备或电缆选择模式。掌握这些细节能帮助

weixin_30588675的博客 402

手把手教你用P-MOS管搭建双电源自动切换电路(含AO3401选型指南)

本文提供了一份基于P-MOS管AO3401构建高可靠双电源自动切换电路的实战指南。文章详细对比了继电器、理想二极管与MOS管方案的优劣,深入解析了AO3401的关键参数选型,并手把手指导了从原理图设计、PCB布局到上电调试的全过程,旨在帮助硬件工程师和创客以极低成本实现无缝、高效的电源冗余方案。

moss5的博客 1216

离散数学期末复习笔记【精华版】

文章目录前言一、????理逻辑1. 命题逻辑2. 等值演算3. 主合取范式、主析取范式4. 【题】推理证明5. 辖域、自由变元、约束变元二、????合1. 环和、环积,幂集,笛卡尔乘积三、 ????????关系1. 自反、对称、传递2&3. 合成运算,逆关系、闭包4. 哈斯图、上下界、偏序5. 等价关系、划分四、????1. 幺元(么元、单位元)、零元、逆元,半群、群、阿尔贝群、独异点、循环独异点2. 【题】由表判断3. 【题】证明五、????论1. 简单图、平凡图、多重图、子图、补图、出度、入度、

林大夕可的博客 17万+

用Quartus II和LPM_ROM手把手复现西电计组课设:从微指令到五条指令的完整流程

本文详细介绍了使用Quartus II和LPM_ROM复现西电计组课设的完整流程,从微指令编写到五条指令的实现。通过环境搭建、LPM_ROM配置、微程序设计及调试技巧,帮助读者高效完成课程设计,避开常见问题。适合计组课程设计的学习者和实践者参考。

weixin_29288313的博客 446

实现 PDF 添加水印的五种方式

PDF(Portable Document Format,便携式文档格式)是一种流行的文件格式,它可以在多个操作系统和应用程序中进行查看和打印。在某些情况下,我们需要对 PDF 文件添加水印,以使其更具有辨识度或者保护其版权。本文将介绍如何使用 Spring Boot 来实现 PDF 添加水印的方式。

逸轩 6462

【推荐100个unity插件】Animator 的替代品?—— Animancer Pro插件的使用介绍

Animancer与Unity Animator对比及使用指南 摘要: 本文对比了Animancer与Unity官方Animator的核心差异,分析了Animancer的优势特点。Animancer采用代码驱动模式,相比Animator的状态机系统更灵活高效,支持实时调试、动态混合和深度逻辑集成。文章详细介绍了Animancer的快速使用方法,包括动画播放、切换和触发机制,并区分了免费版与专业版的功能差异。适合需要高效动画开发、复杂交互逻辑的中小项目,为开发者提供了一种现代化的动画解决方案。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 2423

【Python机器学习】决策树与随机森林:解释性与鲁棒性的平衡

本文深入探讨了决策树和随机森林在解释性与鲁棒性之间的权衡。决策树以其完美的可解释性、快速的推理速度和无需特征标准化等优势,在许多场景中仍然是首选算法。一个经过合理剪枝的决策树,其每个决策路径都可以转化为业务规则,这在金融风控、医疗诊断等对透明度有严格要求的领域无可替代。然而,单棵决策树的高方差和容易过拟合的特性限制了其泛化能力。随机森林通过集成学习的思想,巧妙地解决了这个矛盾。它维持了相对较好的解释性(通过特征重要性、OOB估计等方式),同时通过多棵树的投票或平均,大幅降低了模型的方差。

nmdbbzcl的博客 618

汽车UDS诊断详解及Vector相关工具链使用说明——总述

1.什么是诊断 车辆在运行过程中,不可避免地会发生一些故障,为了确保行车安全,我们要求车上的ECU能够实时监测部件的运行状态,一旦发现异常情况,能通过点亮报警灯等方式提示驾驶员。但是,点亮报警灯只能告诉驾驶员车辆发生了故障,最多只能定位到故障ECU,比如ABS报警灯亮说明ABS系统出现故障,但具体是什么部件发生故障并不能通过报警灯显示出来。这时就需要ECU在本地存储一个与故障相对应的故障代码,在进行维修的时候,可以通过车上的OBD接口连接诊断仪,把这个存储的故障代码读取出来,从而进一步定位到更加具体的故障部

weixin_42967006的博客 2万+

FM20S用户手册-PL端案例开发手册

为便于演示,本次操作直接将led_flash案例中的 "led_flash_fm20s\constraints\constrs_1Ved_flash_fm20s.fdc"文件全部代码拷贝至编辑 界面,并点击保存按钮。引脚约束请查看案例工程"led_flash\project\led_flash_fm20s\constraints\constrs_1\"目 录下的led_flash_fm20sfdc。(4)弹出如下界面,在界面配置Select device forthe project"内容,如下图。

创龙,嵌入式一体化解决方案商 393

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

上一篇: 从零开始:EAS2+Elmo+Maxon电机调试全流程(含电流环优化技巧)
下一篇: Dify插件开发入门:5分钟搞定PaddleOCR集成(附完整代码)
BugCatcher93
博客等级 码龄2年 53粉丝 1665原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值