【热门主题】000075 探索嵌入式硬件设计的奥秘
前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦 💕
目录
- 【热门主题】000075 探索嵌入式硬件设计的奥秘
- 📚一、嵌入式硬件设计概述
- 📘(一)定义与特点
- 📘(二)应用领域
- 📚二、嵌入式硬件设计原则
- 📘1. 需求分析明确
- 📘2. 模块化设计
- 📘3. 低功耗设计
- 📘4. 可靠性设计
- 📘5. 可测试性设计
- 📚三、嵌入式硬件关键技术
- 📘1. SoC 技术集成化和模块化设计,降低成本提高性能
- 📘2. 低功耗设计技术动态电压调整、动态电源管理等方法
- 📘3. 高速接口技术满足大数据量传输和高速通信需求
- 📘4. 嵌入式操作系统管理系统资源,提供任务调度和通信服务
- 📚四、嵌入式硬件设计流程
- 📘1. 需求分析整理电路功能模块和性能指标要求
- 📘2. CPU 选型性价比高、容易开发、可扩展性好
- 📘3. 参考设计选择选择成功的参考设计进行验证
- 📘4. 元器件选型遵循普遍性、高性价比、采购方便等原则
- 📘5. 原理图修改参考多个成功设计,确定正确连接方式
- 📘6. 遵循设计原则数字电源和模拟电源分割等原则
- 📘7. 审核与自审严格审查原理图,确保正确性和可靠性
- 📚五、嵌入式硬件设计未来发展趋势
- 📘1. 更高的计算效率和更低的功耗优化算法、采用先进处理器架构和低功耗设计技术。
- 📘2. 边缘计算的普及减少数据传输延迟和网络拥塞,支持本地计算。
- 📘3. 与物联网的深度融合注重实时数据采集、传输和处理,成为物联网重要部分。
- 📘4. 软硬件协同设计发挥协同优势,提高系统性能和功耗效率。
- 📘5. 安全性和可靠性的提升随着应用广泛,安全性和可靠性愈发重要。
📚📗📕📘📖🕮💡📝🗂️✍️🛠️💻🚀🎉🏗️🌐🖼️🔗📊👉🔖⚠️🌟🔐⬇️·正文开始
⬇️·🎥😊🎓📩😺🌈🤝🤖📜📋🔍✅🧰❓📄📢📈 🙋0️⃣1️⃣2️⃣3️⃣4️⃣5️⃣6️⃣7️⃣8️⃣9️⃣🔟🆗*️⃣#️⃣
【热门主题】000075 探索嵌入式硬件设计的奥秘
📚一、嵌入式硬件设计概述
嵌入式系统作为现代技术的重要组成部分,在多个领域发挥着关键作用。本部分将深入介绍嵌入式系统的定义、特点以及其广泛的应用领域。
📘(一)定义与特点
专用性:嵌入式系统是针对特定应用而设计的,软硬件高度集成,以优化满足特定需求。例如,在智能家居设备中,嵌入式系统需要根据家居环境和用户需求进行定制化设计,实现对灯光、温度、电器等的智能控制。
低功耗:由于常需长时间运行且可能由电池供电,嵌入式系统普遍采用低功耗设计。这在消费电子领域尤为重要,如智能手机、平板电脑等设备,需要在保证性能的同时尽可能降低功耗,以延长电池续航时间。参考资料中提到,“嵌入式系统低功耗设计是应当前电子产品的发展趋势而产生的需求”,通过选用超低功耗的外围器件和接口、低功耗功能支持的主控 SOC 以及功耗和负载符合需求的电源管理 IC 等措施,可以实现系统的低功耗设计。
小型化:受应用场景限制,嵌入式系统体积小巧,便于安装与集成。在医疗设备中,嵌入式系统需要集成到小型的医疗仪器中,如心脏起搏器、血糖仪等,这就要求系统具有高度的小型化设计。
实时性:在工业自动化、医疗设备等领域,嵌入式系统需具备快速响应和实时处理能力。例如,在工业自动化生产线中,嵌入式系统需要实时监测生产过程中的各种参数,并及时作出调整,以确保生产线的高效稳定运行。
高可靠性:嵌入式系统一旦部署,往往难以进行维护,因此必须具备高可靠性,以保证长期稳定运行。在航空航天领域,嵌入式系统的可靠性至关重要,任何故障都可能导致严重的后果。
📘(二)应用领域
工业控制:嵌入式系统在工业控制领域确保生产线高效稳定运行。通过实时监测和控制生产过程中的各种参数,如温度、压力、流量等,实现自动化生产,提高生产效率和产品质量。例如,在汽车制造生产线中,嵌入式系统可以控制机器人进行精确的焊接、装配等操作。
消费电子:为消费电子产品提供丰富功能和便捷体验。从智能手机、平板电脑到智能家居设备,嵌入式系统无处不在。它可以实现高清视频播放、游戏娱乐、智能语音助手等功能,满足用户对消费电子产品的多样化需求。
汽车领域:在汽车电子控制系统中发挥核心作用。从发动机控制、制动系统到车载娱乐系统,嵌入式系统实现了对汽车各个部件的精确控制和智能化管理。例如,现代汽车中的电子稳定控制系统(ESP)就是通过嵌入式系统实时监测车辆的行驶状态,并在必要时进行干预,以提高行驶安全性。
医疗设备:为诊断和治疗提供精准技术支持。医疗影像设备、心脏起搏器、体征监测设备等都离不开嵌入式系统。它可以实现对患者生理参数的实时监测、图像的清晰显示以及精确的治疗控制,为医疗行业提供了强大的技术支持。参考资料中提到,“嵌入式系统在医疗仪器中的应用越来越广泛,随着技术的发展,设备从单一器官发展到全身诊断,从模拟到全数字化,从单参数到多参数,从二维成像到三维立体成像等,成像质量不断提高,诊断范围和信息量不断扩充”。
📚二、嵌入式硬件设计原则
遵循正确的设计原则,能确保嵌入式硬件设计的合理性和可靠性。
📘1. 需求分析明确
明确功能需求、性能要求和工作环境是嵌入式硬件设计的基础。在设计之前,需要对项目进行全面的需求分析。功能需求包括系统需要实现的具体功能,例如数据采集、信号处理、控制输出等。性能要求则涵盖了处理速度、存储容量、通信带宽等方面。工作环境包括温度、湿度、电磁干扰等因素,这些因素会影响元器件的选择和电路的设计。
例如,在工业控制领域,嵌入式系统可能需要在恶劣的环境下长时间稳定运行,因此需要选择具有高可靠性和抗干扰能力的元器件。在消费电子领域,产品的体积和功耗可能是重要的考虑因素,需要选择小型化、低功耗的元器件。
📘2. 模块化设计
模块化设计可以降低设计复杂度,提高可维护性和可扩展性。将系统划分为多个独立的模块,每个模块完成特定的功能。这样,在设计和调试过程中,可以单独对每个模块进行测试和优化,提高开发效率。同时,当需要对系统进行升级或扩展时,可以只对相关的模块进行修改,而不会影响整个系统的稳定性。
例如,在一个智能家居系统中,可以将系统分为传感器模块、控制模块、通信模块等。每个模块都可以独立开发和测试,当需要添加新的功能时,只需要添加相应的模块即可。
📘3. 低功耗设计
采用低功耗元器件和优化电路设计可以降低嵌入式系统的功耗。在电池供电的设备中,低功耗设计尤为重要,可以延长设备的续航时间。选择低功耗的微控制器、传感器、通信模块等元器件,可以有效降低系统的功耗。同时,通过优化电路设计,如降低工作电压、减少不必要的电路元件等,也可以降低功耗。
参考资料中提到了低功耗嵌入式系统设计的 10 个技巧,包括保持整个电路板的工作电压低、选择低功耗芯片、优化无线模块的功耗、采用电源门控技术、选择合适的电源等。这些技巧可以帮助设计工程师实现低功耗设计。
例如,在可穿戴设备中,需要选择低功耗的微控制器和传感器,同时采用电源管理技术,在设备不使用时进入低功耗模式,以延长电池续航时间。
📘4. 可靠性设计
选用高可靠性元器件和进行电路保护设计可以提高嵌入式系统的可靠性。在选择元器件时,要考虑其可靠性、稳定性和寿命等因素。同时,进行电路保护设计,如过压保护、过流保护、静电保护等,可以防止外部因素对系统造成损坏。
例如,在汽车电子领域,嵌入式系统需要在恶劣的环境下工作,因此需要选择具有高可靠性的元器件,并进行严格的电路保护设计,以确保系统的稳定性和安全性。
📘5. 可测试性设计
预留测试接口和测试点,便于测试和调试。在设计过程中,要考虑系统的可测试性,预留测试接口和测试点,以便在开发和生产过程中进行测试和调试。测试接口可以包括 JTAG、UART、SPI 等,测试点可以包括电源、信号、地等。
参考资料中提到了嵌入式系统的可测试性与测试方法,包括模块化设计、接口设计、诊断功能设计、可维护性设计等原则。这些原则可以帮助设计工程师提高系统的可测试性。
例如,在一个嵌入式系统开发项目中,可以预留 JTAG 接口和 UART 接口,以便在开发过程中进行程序烧录和调试。同时,可以在电路板上设置测试点,以便在生产过程中进行功能测试和质量检测。
📚三、嵌入式硬件关键技术
关键技术是嵌入式硬件设计不断发展的动力。
📘1. SoC 技术集成化和模块化设计,降低成本提高性能
SoC(System on Chip)技术将处理器、存储器、外设接口等多种功能模块集成在单个芯片上,实现了高度的集成化和模块化设计。SoC 不仅降低了系统的复杂度和成本,还提高了系统的性能和可靠性。例如,在移动设备如智能手机和平板电脑中,通常包含用于处理应用程序和无线信号的 SoC,它集成了中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)、内存控制器、输入 / 输出接口以及电源管理单元(PMU)等,使得设备在体积小巧的同时具备强大的功能。
📘2. 低功耗设计技术动态电压调整、动态电源管理等方法
低功耗设计技术包括动态电压调整(DVS)、动态电源管理(DPM)、低功耗模式设计等多种方法。这些方法通过优化系统的电源管理和功耗分配策略来降低系统的整体功耗。参考资料中提到了低功耗嵌入式系统设计的 10 个技巧,如保持整个电路板的工作电压低、选择低功耗芯片、优化无线模块的功耗、采用电源门控技术、选择合适的电源等。例如,在可穿戴设备中,需要选择低功耗的微控制器和传感器,同时采用电源管理技术,在设备不使用时进入低功耗模式,以延长电池续航时间。
📘3. 高速接口技术满足大数据量传输和高速通信需求
随着数据传输速率的不断提高,高速接口技术如 USB 3.0、HDMI 2.0、Ethernet 10G 等在嵌入式系统中得到广泛应用。这些高速接口技术能够满足大数据量传输和高速通信的需求。例如,在嵌入式 Linux 下高速 USB 主控制器的设计与实现中,采用 AT91RM9200 处理器外扩 ISP1761 USB 控制器方案,解决了嵌入式系统下 USB 设备的传输速度问题。ISP1761 芯片内集成了 64KB 的高速缓冲,单次处理数据达 32KB,极大地提升了系统的处理性能。
📘4. 嵌入式操作系统管理系统资源,提供任务调度和通信服务
嵌入式操作系统是嵌入式系统的重要组成部分之一,它负责管理系统的资源、提供任务调度和通信服务等功能。常见的嵌入式操作系统包括 μC/OS-II、FreeRTOS、Linux 等。例如,在嵌入式系统的软件设计中,选择具有低功耗优化的操作系统,如 FreeRTOS 的 Tickless Idle,就是一种很好的系统策略支持,可以降低应用对整体系统的负载。
📚四、嵌入式硬件设计流程
详细的设计流程是确保嵌入式硬件设计成功的关键步骤。
📘1. 需求分析整理电路功能模块和性能指标要求
在进行嵌入式硬件设计之前,首先需要详细理解设计需求,从需求中整理出电路功能模块和性能指标要求。这一步骤至关重要,因为它为后续的设计工作提供了明确的方向。例如,在设计一个工业控制系统时,需要明确系统需要实现的功能,如实时监测温度、压力等参数,控制电机的启停等。同时,还需要确定性能指标要求,如测量精度、响应时间、数据处理速度等。
📘2. CPU 选型性价比高、容易开发、可扩展性好
根据功能和性能需求制定总体设计方案,对 CPU 进行选型。CPU 选型应满足以下要求:
性价比高:在功能、性能满足需求的前提下,选择价格较为合理的 CPU,以降低成本。例如,可以对比不同品牌和型号的 CPU,选择性能相近但价格更具优势的产品。
容易开发:体现在硬件调试工具种类多,参考设计多,软件资源丰富,成功案例多。这样可以大大缩短开发周期,提高开发效率。例如,选择一款具有丰富开发工具和文档支持的 CPU,开发人员可以更轻松地进行硬件调试和软件开发。
可扩展性好:考虑到未来可能的功能扩展和升级,选择具有良好可扩展性的 CPU。例如,选择具有多个扩展接口和丰富外设资源的 CPU,以便在未来需要时能够方便地添加新的功能模块。
📘3. 参考设计选择选择成功的参考设计进行验证
针对已经选定的 CPU 芯片,选择一个与我们需求比较接近的成功参考设计。一般 CPU 生产商或他们的合作方都会对每款 CPU 芯片做若干款开发板进行验证。厂家最后公开给用户的参考设计图虽说不是产品级的东西,但也应该是经过严格验证的,否则将会影响到他们的芯片推广应用。纵然参考设计的外围电路有可推敲的地方,CPU 本身的管脚连接使用方法也绝对是值得我们信赖的。当然,如果万一出现多个参考设计某些管脚连接方式不同的情况,我们可以细读 CPU 芯片手册和勘误表,或者找厂商确认。另外,在设计之前,最好能外借或者购买一块选定的参考板进行软件验证,如果软件验证没有问题,那么硬件参考设计也是可以信赖的。但要注意一点,现在很多 CPU 都有若干种启动模式,我们要自己选一种最适合的启动模式,或者做成兼容设计。
📘4. 元器件选型遵循普遍性、高性价比、采购方便等原则
根据需求对外设功能模块进行元器件选型,元器件选型应该遵守以下原则:
普遍性原则:所选的元器件要是被广泛使用验证过的,尽量少使用冷门、偏门芯片,减少开发风险。例如,在选择传感器时,优先选择市场上常见的、经过大量应用验证的产品,这样可以降低因元器件质量问题导致的开发风险。
高性价比原则:在功能、性能、使用率都相近的情况下,尽量选择价格比较好的元器件,降低成本。通过对比不同品牌和供应商的产品价格和性能,选择性价比最高的元器件。
采购方便原则:尽量选择容易买到、供货周期短的元器件。这可以确保在项目开发过程中不会因为元器件采购困难而延误进度。例如,选择一些在本地电子市场或网上商城容易购买到的元器件。
持续发展原则:尽量选择在可预见的时间内不会停产的元器件。以保证产品的长期生产和维护。
可替代原则:尽量选择 pin to pin 兼容芯片品牌比较多的元器件。这样在某个元器件出现供应问题时,可以快速找到替代产品。
向上兼容原则:尽量选择以前老产品用过的元器件。这样可以利用已有的开发经验,减少开发难度。
资源节约原则:尽量用上元器件的全部功能和管脚。以提高元器件的利用率,降低成本。
📘5. 原理图修改参考多个成功设计,确定正确连接方式
对选定的 CPU 参考设计原理图外围电路进行修改。修改时对于每个功能模块都要找至少 3 个相同外围芯片的成功参考设计,如果找到的参考设计连接方法都是完全一样的,那么基本可以放心参照设计,但即使只有一个参考设计与其他的不一样,也不能简单地按少数服从多数的原则,而是要细读芯片数据手册,深入理解那些管脚含义,多方讨论,联系芯片厂技术支持,最终确定科学、正确的连接方式,如果仍有疑义,可以做兼容设计。这是整个原理图设计过程中最关键的部分,我们必须做到以下几点:
对于每个功能模块要尽量找到更多的成功参考设计,越难的应该越多。成功的参考设计是 “前人” 的经验和财富,我们理当借鉴吸收,站在 “前人” 的肩膀上,也就提高了自己的起点。
要多向权威请教、学习,但不能迷信权威,因为人人都有认知误差,很难保证对哪怕是自己最了解的事物总能做出最科学的理解和判断,开发人员一定要在广泛调查、学习和讨论的基础上做出最科学正确的决定。
如果是参考已有的老产品设计,设计中要留意老产品有哪些遗留问题,这些遗留问题与硬件哪些功能模块相关,在设计这些相关模块时要更加注意推敲,不能机械照抄原来设计,比如我们老产品中的 IDE 经常出问题,经过仔细斟酌,广泛讨论和参考其他成功设计,发现我们的 IDE 接口有两个管脚连线方式确实不规范。还有,针对 FGPI 通道丢失视频同步信号的问题,可以在硬件设计中引出硬件同步信号管脚,以便进一步验证,更好发现问题的本质。
📘6. 遵循设计原则数字电源和模拟电源分割等原则
硬件原理图设计还应该遵守一些基本原则,这些基本原则要贯彻到整个设计过程,虽然成功的参考设计中也体现了这些原则,但因为是 “拼” 出来的原理图,所以我们还要随时根据这些原则来设计审查原理图,这些原则包括:
数字电源和模拟电源分割:将数字电路和模拟电路的电源分开,以减少数字电路对模拟电路的干扰。
数字地和模拟地分割,单点接地,数字地可以直接接机壳地(大地),机壳必须接地,以保护用户人身安全。
保证系统各模块资源不能冲突,例如:同一 I2C 总线上的设备地址不能相同等。
阅读系统中所有芯片的手册(一般是设计参考手册),看它们未用的输入管脚是否需要做外部处理,是要上拉、下拉,还是悬空,如果需要上拉或下拉,则一定要做相应处理,否则可能引起芯片内部振荡,导致芯片不能正常工作。
在不增加硬件设计难度的情况下尽量保证软件开发方便,或者以较小的硬件设计难度来换取更多方便、可靠、高效的软件设计,这点需要硬件设计人员懂得底层软件开发调试,要求较高。
功耗问题,设计时尽量降低功耗。例如,选择低功耗的元器件,优化电路设计,降低工作电压等。
产品散热问题,可以在功耗和发热较大的芯片增加散热片或风扇,产品机箱也要考虑这个问题,不能把机箱做成保温盒,电路板对 “温室” 是感冒的。还要考虑产品的安放位置,最好是放在空间比较大,空气流动畅通的位置,有利于热量散发出去。
📘7. 审核与自审严格审查原理图,确保正确性和可靠性
硬件原理图设计完成之后,设计人员应该按照以上步骤和要求首先进行自审,自审后要有 95% 以上的把握和信心,然后再提交给他人审核,其他审核人员同样按照以上要求对原理图进行严格审查,如发现问题要及时进行讨论分析,分析解决过程同样遵循以上原则和步骤。
设计人员自身应该保证原理图的正确性和可靠性,要做到设计即是审核,严格自审,不要把希望寄托在审核人员身上,设计出现的任何问题应由设计人员自己承担,其他审核人员不负连带责任。
📚五、嵌入式硬件设计未来发展趋势
嵌入式硬件设计在未来呈现出多方面的发展趋势,以下将从几个关键方向进行阐述。
📘1. 更高的计算效率和更低的功耗优化算法、采用先进处理器架构和低功耗设计技术。
随着技术的不断进步,嵌入式系统对计算效率和功耗的要求越来越高。通过优化算法,可以在不增加硬件成本的前提下提高系统的性能。例如,采用更高效的数据处理算法,减少不必要的计算步骤,从而降低功耗。同时,先进的处理器架构能够提供更高的计算能力和更低的能耗。例如,一些新型的处理器采用多核架构和低功耗设计,在满足高性能需求的同时,有效降低了功耗。此外,低功耗设计技术也是实现更高计算效率和更低功耗的重要手段。参考资料中提到了低功耗嵌入式系统设计的多个技巧,如保持整个电路板的工作电压低、选择低功耗芯片、优化无线模块的功耗、采用电源门控技术、选择合适的电源等。通过综合运用这些技术,可以实现嵌入式系统的低功耗设计,提高系统的续航能力和可靠性。
📘2. 边缘计算的普及减少数据传输延迟和网络拥塞,支持本地计算。
边缘计算的兴起为嵌入式硬件设计带来了新的机遇。边缘计算是指将计算能力移至离数据源更近的地方,以减少数据传输延迟和网络拥塞。在嵌入式系统中,边缘计算可以使设备在本地进行更多的计算和处理,减少对云端的依赖。这不仅可以提高系统的响应速度,还可以降低数据传输成本和网络带宽需求。例如,在智能家居系统中,边缘计算可以使设备在本地处理用户的指令,无需将数据上传到云端进行处理,从而提高系统的响应速度和可靠性。此外,边缘计算还可以支持本地数据分析和决策,为用户提供更加个性化的服务。例如,在智能医疗设备中,边缘计算可以在本地分析患者的生理数据,及时发现异常情况并采取相应的措施。
📘3. 与物联网的深度融合注重实时数据采集、传输和处理,成为物联网重要部分。
物联网的快速发展为嵌入式硬件设计带来了广阔的应用前景。嵌入式系统作为物联网的重要组成部分,将更加注重实时数据采集、传输和处理。通过集成各种传感器和通信模块,嵌入式系统可以实现对物理世界的实时感知和数据采集。同时,利用高速通信技术,如 5G、WiFi 6 等,可以将采集到的数据快速传输到云端或其他设备进行处理和分析。例如,在工业物联网中,嵌入式系统可以实时监测生产设备的运行状态,采集生产数据,并将数据上传到云端进行分析和处理,为企业提供智能化的生产管理解决方案。此外,嵌入式系统还可以与物联网平台相结合,实现设备的远程监控和管理,为用户提供更加便捷的服务。
📘4. 软硬件协同设计发挥协同优势,提高系统性能和功耗效率。
软硬件协同设计是嵌入式硬件设计的重要发展趋势之一。通过将硬件设计和软件设计紧密结合起来,可以充分发挥硬件和软件的协同优势,提高系统的性能和功耗效率。在软硬件协同设计中,硬件设计和软件设计不再是独立的过程,而是相互影响、相互制约的。硬件设计需要考虑软件的需求和实现方式,软件设计也需要考虑硬件的性能和资源限制。例如,在设计嵌入式系统时,可以根据软件的需求选择合适的处理器架构和外设接口,同时优化软件算法和代码结构,以充分发挥硬件的性能。此外,软硬件协同设计还可以提高系统的可靠性和可维护性。通过在设计阶段充分考虑硬件和软件的协同工作,可以减少系统的故障点,提高系统的稳定性和可靠性。同时,软硬件协同设计也使得系统的维护和升级更加方便,降低了维护成本。
📘5. 安全性和可靠性的提升随着应用广泛,安全性和可靠性愈发重要。
随着嵌入式系统在各个领域的广泛应用,安全性和可靠性成为了至关重要的问题。在嵌入式硬件设计中,需要采取一系列措施来提高系统的安全性和可靠性。首先,需要选用高可靠性的元器件和进行电路保护设计。参考资料中提到,在选择元器件时,要考虑其可靠性、稳定性和寿命等因素。同时,进行电路保护设计,如过压保护、过流保护、静电保护等,可以防止外部因素对系统造成损坏。其次,需要进行安全设计,如数据加密、身份认证等,保护系统的数据安全和用户隐私。例如,在智能医疗设备中,需要对患者的生理数据进行加密处理,防止数据泄露。此外,还需要进行可靠性测试和验证,确保系统在各种恶劣环境下都能正常工作。例如,进行高温、低温、湿度、振动等环境测试,以及电磁兼容性测试等,确保系统的可靠性和稳定性。
到此这篇文章就介绍到这了,更多精彩内容请关注本人以前的文章或继续浏览下面的文章,创作不易,如果能帮助到大家,希望大家多多支持宝码香车~💕,若转载本文,一定注明本文链接。
更多专栏订阅推荐:
👍 html+css+js 绚丽效果
💕 vue
✈️ Electron
⭐️ js
📝 字符串
✍️ 时间对象(Date())操作
相关文章:

【热门主题】000075 探索嵌入式硬件设计的奥秘
前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 【热…...

Android okhttp请求
下面是一个用 OkHttp 封装的 GET 请求方法,适用于 Android 项目。该方法包括基本的网络请求、错误处理,并支持通过回调返回结果。 封装 GET 请求的工具类 添加依赖 在你的 build.gradle 文件中,确保添加了 OkHttp 的依赖: imple…...

嵌入式蓝桥杯学习4 lcd移植
cubemx配置 复制前面配置过的文件 打开cubemx,将PB8,PB9配置为GPIO-Output。 点击GENERATE CODE. 文件移植 1.打开比赛提供的文件包,点击Inc文件夹 2.点击Inc文件夹。复制fonts.h和lcd.h,粘贴到我们自己的工程文件夹的bsp中(…...

电子应用设计方案-38:智能语音系统方案设计
智能语音系统方案设计 一、引言 智能语音系统作为一种便捷、自然的人机交互方式,正逐渐在各个领域得到广泛应用。本方案旨在设计一个高效、准确、功能丰富的智能语音系统。 二、系统概述 1. 系统目标 - 实现高准确率的语音识别和自然流畅的语音合成。 - 支持多种语…...

渗透测试:网络安全的深度探索
一、引言 在当今数字化时代,网络安全问题日益凸显。企业和组织面临着来自各种恶意攻击者的威胁,他们试图窃取敏感信息、破坏系统或进行其他恶意活动。渗透测试作为一种主动的安全评估方法,能够帮助企业发现潜在的安全漏洞,提高网…...

基于SpringBoot的“小区物业管理系统”的设计与实现(源码+数据库+文档+PPT)
基于SpringBoot的“小区物业管理系统”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 系统功能结构图 个人信息界面图 费用信息管理…...

调试android 指纹遇到的坑
Android8以后版本 一、指纹服务不能自动 指纹服务fingerprintd(biometrics fingerprintservice),可以手动起来,但是在init.rc中无法启动。 解决办法: 1.抓取开机时kernel log ,确认我们的启动指纹服务的init.rc 文件有被init.c…...
剑指offer(专项突破)---字符串
总目录:剑指offer(专项突破)---目录-CSDN博客 1.字符串的基本知识 C语言中: 函数名功能描述strcpy(s1, s2)将字符串s2复制到字符串s1中,包括结束符\0,要求s1有足够空间容纳s2的内容。strncpy(s1, s2, n)…...

【springboot】 多数据源实现
文章目录 1. 引言:多数据源的必要性和应用场景**为什么需要多数据源?****应用场景** 2. Spring Boot中的数据源配置2.1 默认数据源配置简介2.2 如何在Spring Boot中配置多个数据源 3. 整合MyBatis与多数据源**配置MyBatis使用多数据源****Mapper接口的数…...

多模态COGMEN详解
✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…...

django 实战(python 3.x/django 3/sqlite)
要在 Python 3.x 环境中使用 Django 3.2 和 SQLite 创建一个新的 Django 项目,你可以按照以下步骤进行操作。这些步骤假设你已经安装了 Python 3.x 和 pip。 1. 设置虚拟环境 首先,建议为你的 Django 项目创建一个虚拟环境,以便隔离项目的依…...

图数据库 | 12、图数据库架构设计——高性能计算架构
在传统类型的数据库架构设计中,通常不会单独介绍计算架构,一切都围绕存储引擎展开,毕竟存储架构是基础,尤其是在传统的基于磁盘存储的数据库架构设计中。 类似地,在图数据库架构设计中,项目就围绕存储的方…...

Unity 利用Button 组件辅助Scroll View 滚动
实现 创建枚举类ScrollDir 以区分滚动方向。每组两个按钮负责同方向上左右/上下滚动。 Update 中实时获取Scroll View 滚动条当前位置。 if (dir.Equals(ScrollDir.vertical)) {posCurrent scroll.verticalNormalizedPosition; } else if (dir.Equals(ScrollDir.horizontal)…...

Ubuntu 安装Ansible ansible.cfg配置文件生成
安装后的ansible.cfg后的默认内容如下: rootlocalhost:/etc/ansible# cat ansible.cfg # Since Ansible 2.12 (core): # To generate an example config file (a "disabled" one with all default settings, commented out): # $ ansible-…...

使用PaddlePaddle实现线性回归模型
目录 编辑 引言 PaddlePaddle简介 线性回归模型的构建 1. 准备数据 2. 定义模型 3. 准备数据加载器 4. 定义损失函数和优化器 5. 训练模型 6. 评估模型 7. 预测 结论 引言 线性回归是统计学和机器学习中一个经典的算法,用于预测一个因变量࿰…...

MongoDB集群的介绍与搭建
MongoDB集群的介绍与搭建 一.MongoDB集群的介绍 注意:Mongodb是一个比较流行的NoSQL数据库,它的存储方式是文档式存储,并不是Key-Value形式; 1.1集群的优势和特性 MongoDB集群的优势主要体现在以下几个方面: (1)高…...

PhpStorm配置Laravel
本文是2024最新的通过phpstorm创建laravel项目 1.下载phpstorm 2.检查本电脑的环境phpcomposer 显示图标就是安装成功了,不会安装的百度自行安装 3.安装完后,自行创建一个空目录不要有中文,然后运行cmd 输入以下命令,即可创建…...

Solving the Makefile Missing Separator Stop Error in VSCode
1. 打开 Makefile 并转换缩进 步骤 1: 在 VSCode 中打开 Makefile 打开 VSCode。使用文件浏览器或 Ctrl O(在 Mac 上是 Cmd O)打开你的 Makefile。 步骤 2: 打开命令面板 按 Ctrl Shift P(在 Mac 上是 Cmd Shift P)&…...

MySQL大小写敏感、MySQL设置字段大小写敏感
文章目录 一、MySQL大小写敏感规则二、设置数据库及表名大小写敏感 2.1、查询库名及表名是否大小写敏感2.2、修改库名及表名大小写敏感 三、MySQL列名大小写不敏感四、lower_case_table_name与校对规则 4.1、验证校对规则影响大小写敏感4.1、验证校对规则影响排序 五、设置字段…...

项目搭建:guice,jdbc,maven
当然,以下是一个使用Guice、JDBC和Maven实现接口项目的具体例子。这个项目将展示如何创建一个简单的用户管理应用,包括用户信息的增删改查(CRUD)操作。 ### 1. Maven pom.xml 文件 首先确保你的pom.xml文件包含必要的依赖&#…...

第四届新生程序设计竞赛正式赛(C语言)
A: HNUCM的学习达人 SQ同学是HNUCM的学习达人,据说他每七天就能够看完一本书,每天看七分之一本书,而且他喜欢看完一本书之后再看另外一本。 现在请你编写一个程序,统计在指定天数中,SQ同学看完了多少本完整的书&#x…...

【分布式知识】Redis6.x新特性了解
文章目录 Redis6.x新特性1. 多线程I/O处理2. 改进的过期算法3. SSL/TLS支持4. ACL(访问控制列表)5. RESP3协议6. 客户端缓存7. 副本的无盘复制8. 其他改进 Redis配置详解1. 基础配置2. 安全配置3. 持久化配置4. 客户端与连接5. 性能与资源限制6. 其他配置…...

程序员需要具备哪些知识?
程序员需要掌握的知识广泛而深厚,这主要取决于具体从事的领域和技术方向。不过,有些核心知识是共通的,就像建房子的地基一样,下面来讲讲这些关键领域: 1. 编程语言: 无论你是搞前端、后端、移动开发还是嵌…...

实验四:MyBatis 的关联映射
目录: 一 、实验目的: 熟练掌握实体之间的各种映射关系。 二 、预习要求: 预习数据库原理中所讲过的一对一、一对多和多对多关系 三、实验内容: 1. 查询所有订单信息,关联查询下单用户信息(注意:因为一…...

【Leetcode】189.轮转数组
题目链接: 189.轮转数组 题目描述: 解题思路: 要想实现数组元素向右轮转k个位置,可是将数组三次反转来实现 以 nums [1,2,3,4,5,6,7], k 3 为例,最终要得到[5,6,7,1,2,3,4]: 第一次反转:将整个数组反转…...

【JavaSE】常见面试问题
1. 什么是 Java 中的多态? 多态是 Java 中面向对象的核心特性之一,指的是同一操作作用于不同类型的对象时表现出不同的行为。通过方法重载和方法重写实现。方法重载是同一方法名,根据参数不同做不同处理,属于编译时多态ÿ…...

【超详图文】多少样本量用 t分布 OR 正态分布
文章目录 相关教程相关文献预备知识Lindeberg-Lvy中心极限定理 t分布的来历实验不同分布不同抽样次数的总体分布不同自由度相同参数的t分布&正态分布 作者:小猪快跑 基础数学&计算数学,从事优化领域7年,主要研究方向:MIP求…...

leetcode hot100【Leetcode 416.分割等和子集】java实现
Leetcode 416.分割等和子集 题目描述 给定一个非负整数的数组 nums ,你需要将该数组分割成两个子集,使得两个子集的元素和相等。如果可以分割,返回 true ,否则返回 false。 示例 1: 输入:nums [1,5,11,…...

《算法导论》英文版前言To the teacher第4段研习录:有答案不让用
【英文版】 Departing from our practice in previous editions of this book, we have made publicly available solutions to some, but by no means all, of the problems and exercises. Our Web site, http://mitpress.mit.edu/algorithms/, links to these solutions. Y…...

Laravel关联模型查询
一,多表关联 文章表articles 和user_id,category_id关联 //with()方法是渴求式加载,缓解了1N的查询问题,仅需11次查询就能解决问题,可以提升查询速度。with部分没有就以null输出,所以可以理解为 多表 left join 查…...