tag 标签: 原理

相关博文
  • 热度 1
    2023-9-28 16:53
    795 次阅读|
    0 个评论
    谢谢兆易创新高工、芯片综合服务商映时科技。谢谢面包板论坛。 感谢 机械工业出版社。 感谢提供的这一次试读机会。 感谢 映时科技 董晓 任保宏 。 接上七篇: 《GD32 MCU原理及固件库开发指南》+试读心得(1) 《GD32 MCU原理及固件库开发指南》+试读心得(2)第八章 《GD32 MCU原理及固件库开发指南》+试读心得第一章(1) 《GD32 MCU原理及固件库开发指南》+试读心得第一章(2) 《GD32 MCU原理及固件库开发指南》+试读心得第二章(1) 《GD32 MCU原理及固件库开发指南》+试读心得第二章(2) 《GD32 MCU原理及固件库开发指南》+第三章试读心得 在阅读关于GD32的电源管理系统和时钟系统的详细介绍后,我对这些系统的原理和运作方式有了更加深入的理解。这些知识对于开发低功耗、高性能的系统非常重要,特别是在嵌入式系统和微控制器应用中。首先,从电源管理方面来看,GD32的3个电源域和3种省电模式的介绍让我明白了如何在不同工作模式下管理电源,以达到节能的目的。通过使用PMU(Power Management Unit)相关的API,可以更加灵活地控制电源,并在深度睡眠模式、待机模式和低压检测器等功能之间进行切换。这为系统设计师提供了一种有效的工具,可以根据系统需求来平衡功耗和性能。另一方面,GD32的时钟系统是一个复杂而又精密的系统。通过了解GD32的3种复位控制方式和时钟源、PLL(Phase-Locked Loop)及外设时钟配置的方法,我认识到时钟系统对于整个系统的稳定运行和各个模块的正常工作至关重要。这就好比是在一个城市中,时钟塔不仅指示着时间,还协调着各个社区的活动,确保城市的和谐运转。 在阅读过程中,我也学习了一些与RCU(Reset and Clock Control Unit)相关的API的使用方法。这些API在初始化系统时钟和控制时钟输出方面发挥了重要作用。通过这些API,开发人员可以更方便地调整和控制系统的时钟频率和时序,以满足各种应用的需求。此外,我也了解到,虽然时钟系统的复杂性可能会让人望而却步,但只要掌握了基本的原理和方法,再结合规格说明书中的模块框图和时钟树图,就可以更好地理解和掌握它。这就好比是在游览一座复杂的城市,只要掌握了城市的地图和交通系统,就能轻松地找到目的地。 总的来说,通过阅读我对这些系统的理解更加深入,也更加清楚它们在嵌入式系统和微控制器应用中的重要性。我相信这不仅提供了我急需的知识,也启发了我对于嵌入式系统设计和微控制器应用的更深层次的理解和思考。 谢谢!
  • 热度 4
    2023-9-28 15:20
    868 次阅读|
    0 个评论
    谢谢兆易创新高工、芯片综合服务商映时科技。谢谢面包板论坛。 感谢 机械工业出版社。 感谢提供的这一次试读机会。 感谢 映时科技 董晓 任保宏 。 接上六篇: 《GD32 MCU原理及固件库开发指南》+试读心得(1) 《GD32 MCU原理及固件库开发指南》+试读心得(2)第八章 《GD32 MCU原理及固件库开发指南》+试读心得第一章(1) 《GD32 MCU原理及固件库开发指南》+试读心得第一章(2) 《GD32 MCU原理及固件库开发指南》+试读心得第二章(1) 《GD32 MCU原理及固件库开发指南》+试读心得第二章(2) 在嵌入式系统的学习中,理解MCU(微控制器)的系统架构是非常重要的。最近,我深入学习了GD32 MCU系统架构 收获颇丰。现在,我想分享一下我对GD32 MCU的理解和心得,希望对大家有所帮助。 GD32 MCU是一种常见的嵌入式系统组件,由于其高性价比和强大的性能,被广泛应用于各种领域。在了解GD32 MCU的系统架构前,我们首先需要理解它的框架结构。GD32 MCU的框架结构清楚明了,包括M内核、NVIC(中断向量控制器)以及存储器架构。 GD32 MCU采用了四种M内核(M4、M33、M23和M3),每种内核都有其独特的特性。特别是M4内核,其结构紧凑,运行速度快,可编程性强,被广泛应用于各种应用中。通过深入学习这四种M内核的特性和M4内核结构,我对MCU内部的处理能力和运行机制有了更深入的理解。 在GD32 MCU中,NVIC和中断系统是实现实时响应的重要部分。NVIC负责处理外部设备的信号输入,而中断系统则负责在有紧急事件发生时立即停止当前任务进行处理。中断响应序列和中断相关配置操作的学习让我对MCU的实时处理机制有了更深的认识。 最后,我对GD32 MCU的存储器架构和Flash相关操作进行了详细研究。存储器架构包括Flash、RAM和其他内部存储器。其中,主Flash可以进行擦除、写入和读取操作。同时,选项字节操作可以用来设置Flash的特定参数,进一步增强了Flash的灵活性。 通过对GD32 MCU系统架构的学习,我不仅从理论上了解了MCU的基本构成和工作原理,更重要的是,我能够将这些理论知识应用到实践中。我明白了如何根据实际需求选择合适的MCU型号以及如何配置MCU以满足特定的性能要求。此外,我也学会了如何针对特定的应用场景优化MCU的编程代码,从而提高系统的效率和稳定性。 总的来说,通过学习GD32 MCU系统架构,我深入理解了嵌入式系统的核心组件和其工作机制。我相信,这种深入的理解将对我未来的学习和职业发展产生积极的影响。我希望通过分享我的学习心得,能够激发其他读者对嵌入式系统的热情和好奇心,从而一起探索这个美妙的世界。 谢谢!
  • 2023-9-26 23:56
    969 次阅读|
    0 个评论
    本章旨在为GD32MCU初学者提供全面的入门开发指导。在本文中,我们将介绍GD32MCU开发所需的基本资料和获取途径,同时详细阐述在软件平台开发和硬件系统设计方面的基本步骤和注意事项。此外,还将介绍烧录调试工具的使用方法和固件库架构及使用方法。通过对这些内容的学习,读者将对GD32MCU的开发过程有全面的了解,并为后续深入学习和应用打下基础。 一、GD32MCU开发资料及其获取途径 要进行GD32MCU的开发,首先需要获取相应的开发资料。这些资料包括芯片的datasheet、SDK、API库、参考设计等。下面是一些主要的获取途径: 1. GD32官方网站:这是最直接获取GD32MCU开发资料的地方。在官方网站上,可以找到最新的芯片产品信息、技术文档、SDK、API库和参考设计等资料。 2. GD32官方论坛:在这里,可以与其他GD32MCU开发者交流心得和经验,同时也可以获取到一些有用的开发资料。 3. 第三方网站和论坛:例如面包板社区等网站和论坛上,也可以找到一些GD32MCU的开发资料。 4. 开源项目和代码:在一些开源项目和代码中,可以找到关于GD32MCU的开发经验和示例代码,这对初学者非常有帮助。 二、软件平台开发 在软件平台开发方面,主要介绍使用Keil MDK和IAR IDE开发环境进行GD32MCU的开发。 1. 新建工程:首先在开发环境中创建一个新的工程,并选择正确的芯片型号和开发板。 2. 导入已有工程:如果已经有现成的代码工程,可以将其导入到开发环境中。 3. 调试工程:在完成代码编写后,可以使用开发环境中的调试工具进行调试,检查程序运行是否正确。 三、硬件系统设计 在硬件系统设计方面,这里主要介绍GD32MCU最小系统的推荐设计。最小系统包括芯片、时钟电路、复位电路、调试电路和电源电路等基本部分。在设计时,可以参考GD32MCU的参考设计,并结合实际需求进行修改和优化。完成硬件设计后,需要进行PCB制作和电路仿真,确保电路功能的正确性。GD32MCU的硬件系统设计需要考虑最小系统的设计和外围电路的搭建。下面我们推荐一种最小系统的设计,并说明电路设计、接线、PCB制作及电路仿真等基本步骤。 1. 最小系统设计 GD32MCU的最小系统包括芯片、时钟电路、复位电路、调试接口和电源电路等基本部分。以下是具体设计方案: (1)选用适当的GD32MCU芯片型号; (2)设计时钟电路,为芯片提供时钟信号; (3)设计复位电路,确保系统在上电时能够正确初始化; (4)选择合适的调试接口,如JTAG或SWD模式; (5)设计电源电路,为芯片提供稳定的工作电压。 2. 电路设计 根据功能需求,将GD32MCU与外围器件进行合理连接。可以使用原理图或PCB进行电路设计。在设计过程中,需要考虑信号的完整性、电源的质量和稳定性等因素。 3. 接线 根据电路设计,将芯片、电阻、电容等电子元器件进行合理连接。在接线过程中,需要注意信号线的走线和布局,以减小电磁干扰和提高系统稳定性。 4. PCB制作及电路仿真 根据接线图制作PCB板,并进行电路仿真测试,以确保设计的正确性和可靠性。可以使用相应的仿真软件进行电路仿真。在仿真过程中,可以对电路的性能、噪声和稳定性等方面进行评估,并对不合理的部分进行调整和优化。 四、烧录调试工具 在进行GD32MCU的开发过程中,需要使用烧录调试工具对芯片进行烧录和调试。这里主要介绍使用GD-Link和JLink烧录调试方法。 1. 接口电路:GD-Link和JLink都需要通过USB接口与电脑连接,同时需要通过串口与芯片通信。因此需要正确连接电脑、烧录调试工具和芯片的USB和串口。 2. 在线调试:通过烧录调试工具可以在线调试程序,检查程序运行过程中变量、寄存器的值是否正确,同时也可以单步执行代码。 3. 在线烧录:通过烧录调试工具可以将程序烧录到芯片中,从而实现对芯片功能的修改和升级。 4. 离线烧录:离线烧录通常使用专门的烧录软件,通过下载已经编译好的二进制文件到芯片中来实现程序的烧录。在这里我们主要介绍使用GD-Link进行离线烧录的方法。首先将编译好的二进制文件通过USB接口拷贝到电脑中,然后使用GD-Link的工程模式将文件烧录到芯片中。 五、固件库架构及使用方法 GD32MCU的固件库包含了多个文件夹和文件,每个文件夹和文件都有其特定的功能和使用方法。 随着MCU(微控制器)集成度的不断提升,片内外设资源和功能也越来越丰富。若采用传统的直接操作寄存器的方法进行开发,则可能会带来开发进度慢、代码可读性差的问题。因此,MCU厂商一般都会推出寄存器操作封装库(即固件库),以方便用户使用及开发。固件库是一个固件函数包,它由程序、数据结构和宏组成,包括了所选MCU所有外设的性能特征。固件库中还有对每一个外设的驱动描述和基于评估板的固件库使用例程。通过使用固件库,用户无需深入掌握细节,也可以轻松应用每一个外设。使用固件库可以大大减少用户的编程时间,从而降低开发成本。每个外设驱动都由一组函数组成,这组函数覆盖了该外设所有功能。可以通过调用一组通用API来实现对外设的驱动,这些API的结构、函数名称和参数名称都进行了标准化处理。 在此以GD32F30×系列固件库为例说明固件库的架构及使用方法。该系列MCU的固件库分为两个层级:抽象层和底层。 抽象层提供了较为简单的API,使得用户可以忽略底层硬件细节,直接进行开发。它分为几个子模块,包括初始化、数据传输控制、中断管理等。数据传输控制模块提供了各种UART、SPI、I2C等外设的初始化函数,用于数据通信。中断管理模块则提供了各种中断的使能、禁用和标志位清除等功能。 底层更加接近硬件,为用户提供了更深入的控制。它包括硬件抽象层(HAL)、底层驱动和中间层。HAL为底层驱动提供了更为简单的接口,使得用户可以更容易地操作硬件。底层驱动则是针对具体硬件实现的代码,例如GPIO驱动、ADC驱动等。中间层则提供了底层驱动和抽象层之间的接口,使得底层驱动可以更容易地被抽象层调用。 为了使用GD32MCU固件库进行开发,需要搭建开发平台。首先,需要选择一款开发板,例如GD32F30×系列的评估板。然后,需要安装开发工具链(例如Keil或IAR),并将GD32MCU固件库添加到工程中。接着,编写代码并调用固件库中的函数进行外设控制和数据传输等操作。最后,将代码编译并烧录到MCU中,进行调试和测试。 在本文中,我们将以GD32F30×系列固件库为例,详细介绍GD32MCU固件库的架构及使用方法。 一、GD32MCU固件库架构 GD32F30×系列固件库由程序、数据结构和宏组成,每个外设驱动都由一组函数组成,这组函数覆盖了该外设所有功能。可以通过调用一组通用API来实现对外设的驱动,这些API的结构、函数名称和参数名称都进行了标准化处理。 GD32F30×系列固件库具有以下特点: 1. 外设资源丰富:GD32F30×系列MCU具有丰富的外设资源,包括多种通信接口、多种定时器、多种PWM通道、多种ADC/DAC通道等。 2. 寄存器映射控制准确:GD32F30×系列MCU的寄存器映射关系简单明了,便于操作和控制。 3. 兼容性好:GD32F30×系列固件库兼容性好,可适用于GD32系列下的所有型号的MCU。 4. 安全性高:GD32F30×系列固件库的安全性高,采用硬件加密技术,有效防止程序被破解或篡改。 GD32MCU固件库的架构和使用方法类似其他系列MCU的固件库。通过使用固件库,用户可以简化开发流程、提高开发效率并降低开发成本。在搭建开发平台后,根据具体应用需求选择合适的固件库并调用相关API函数进行开发即可实现特定功能。 谢谢!
  • 热度 3
    2023-7-2 18:20
    217 次阅读|
    0 个评论
    电机驱动原理 电机(俗称“马达”)是指依据电磁感应定律实现电能转换或传递的一种电磁装置。它的主要作用是产生驱动转矩,作为用电器或各种机械的动力源。 在磁场中放置线圈,通过流动的电流,线圈会被一侧的磁极排斥,同时被另一侧磁极所吸引,在这种作用下不断旋转。在旋转过程中令通向线圈中的电流反向流动,使其持续旋转。这就是最基本的 电机 工作原理。 无刷直流电机(BL DC ) BL DC电机 中的“BL”即“Brushless”,译为无刷。即DC电机中的“电刷”没有了。电刷在DC电机里扮演的角色是通过换向器向转子里的线圈通电。那么没有电刷的BLDC电机是如何向转子里的线圈通电的呢? BLDC电机采用永磁体来做转子,转子里是没有线圈的。由于转子里没有线圈,所以不需要用于通电的换向器和电刷。取而代之的是作为定子的线圈。BLDC电机通过控制通向线圈的电流方向和大小来控制转子的旋转。 BLDC电机的优势和应用 BLDC电机的第一个优点是“高效率”。它可以将回旋力(扭矩)始终保持最大值。DC电机在旋转过程中最大扭矩只能保持一个瞬间,无法始终保持最大值。若DC电机想要得到和BLDC电机一样大的扭矩,只能加大它的磁铁。这就是为什么小型BLDC电机也能发出强大力量的原因。 第二个特点是“良好的控制性”,与第一个有所关联。BLDC电机可以精确地反馈目标旋转数、扭矩等。通过精确的控制可以抑制电机的发热和电力的消耗。若是电池驱动,则能通过周密的控制,延长驱动时间。 上述两点则是无电刷和换向器所带来的优势。除此之外BDLC还有耐用,电气噪音小等特点。若不希望使用过程中产生噪音,采用BLDC电机即可实现。 据Grand View Research统计,2025年BLDC市场规模可达223亿美元。随着技术趋于成熟,BLDC电机已经在军事、航空、工业、汽车、民用控制系统,以及家电等领域都有了广泛的应用。多见低压小功率器件,比如 小型机 器人、 无人机 、电动自行车、吸尘器、电动工具等。 矽力杰 BLDC 电机驱动 方案 矽力杰作为全球领先的高性能模拟芯片厂商,在汽车电子,工业控制,通信计算及消费电子等各个领域均有领先的技术和众多的芯片解决方案。SY67343为矽力杰推出的新一代三相无感正弦电机驱动芯片,采用内置MOS,运行最大驱动电流2A,支持多种电机类型,如永磁同步电机,无刷直流电机等。此外SY67343还支持多种保护功能,如过流保护,欠压保护和过温保护等,全面保障电机和芯片在使用过程的安全性。 SY67343 三相直流无刷电机驱动芯片 ◆ 电源电压范围:5~40V ◆ 内部集成三个半桥电机驱动 ◆ 低功率管导通 电阻 : HS+LS<250mΩ ◆ 最大驱动电流2A , 峰值电流3A ◆ 无 传感器 控制 ◆ 高效正弦波驱动 ◆ 集成5V/3.3V降压稳压器 ◆ I2C 接口 配置存储器 ◆ 转速控制:PWM /模拟/ IIC ◆ 支持正反向控制 ◆ 睡眠模式 ◆ 过流/欠压/过温保护 ◆ TSSOP24E封装 买电子元器件现货上唯样商城
  • 热度 3
    2023-6-13 14:29
    384 次阅读|
    0 个评论
    电机驱动原理 电机(俗称“马达”)是指依据电磁感应定律实现电能转换或传递的一种电磁装置。它的主要作用是产生驱动转矩,作为用电器或各种机械的动力源。 在磁场中放置线圈,通过流动的电流,线圈会被一侧的磁极排斥,同时被另一侧磁极所吸引,在这种作用下不断旋转。在旋转过程中令通向线圈中的电流反向流动,使其持续旋转。这就是最基本的 电机 工作原理。 无刷直流电机(BL DC ) BL DC电机 中的“BL”即“Brushless”,译为无刷。即DC电机中的“电刷”没有了。电刷在DC电机里扮演的角色是通过换向器向转子里的线圈通电。那么没有电刷的BLDC电机是如何向转子里的线圈通电的呢? BLDC电机采用永磁体来做转子,转子里是没有线圈的。由于转子里没有线圈,所以不需要用于通电的换向器和电刷。取而代之的是作为定子的线圈。BLDC电机通过控制通向线圈的电流方向和大小来控制转子的旋转。 BLDC电机的优势和应用 BLDC电机的第一个优点是“高效率”。它可以将回旋力(扭矩)始终保持最大值。DC电机在旋转过程中最大扭矩只能保持一个瞬间,无法始终保持最大值。若DC电机想要得到和BLDC电机一样大的扭矩,只能加大它的磁铁。这就是为什么小型BLDC电机也能发出强大力量的原因。 第二个特点是“良好的控制性”,与第一个有所关联。BLDC电机可以精确地反馈目标旋转数、扭矩等。通过精确的控制可以抑制电机的发热和电力的消耗。若是电池驱动,则能通过周密的控制,延长驱动时间。 上述两点则是无电刷和换向器所带来的优势。除此之外BDLC还有耐用,电气噪音小等特点。若不希望使用过程中产生噪音,采用BLDC电机即可实现。 据Grand View Research统计,2025年BLDC市场规模可达223亿美元。随着技术趋于成熟,BLDC电机已经在军事、航空、工业、汽车、民用控制系统,以及家电等领域都有了广泛的应用。多见低压小功率器件,比如 小型机 器人、 无人机 、电动自行车、吸尘器、电动工具等。 矽力杰 BLDC 电机驱动 方案 矽力杰作为全球领先的高性能模拟芯片厂商,在汽车电子,工业控制,通信计算及消费电子等各个领域均有领先的技术和众多的芯片解决方案。SY67343为矽力杰推出的新一代三相无感正弦电机驱动芯片,采用内置MOS,运行最大驱动电流2A,支持多种电机类型,如永磁同步电机,无刷直流电机等。买电子元器件现货上唯样商城。此外SY67343还支持多种保护功能,如过流保护,欠压保护和过温保护等,全面保障电机和芯片在使用过程的安全性。 SY67343 三相直流无刷电机驱动芯片 ◆ 电源电压范围:5~40V ◆ 内部集成三个半桥电机驱动 ◆ 低功率管导通 电阻 : HS+LS<250mΩ ◆ 最大驱动电流2A , 峰值电流3A ◆ 无 传感器 控制 ◆ 高效正弦波驱动 ◆ 集成5V/3.3V降压稳压器 ◆ I2C 接口 配置存储器 ◆ 转速控制:PWM /模拟/ IIC ◆ 支持正反向控制 ◆ 睡眠模式 ◆ 过流/欠压/过温保护 ◆ TSSOP24E封装
相关资源
  • 所需E币: 2
    时间: 2024-1-13 21:25
    大小: 420.55KB
    上传者: 电子阔少
    笔记本电池电量显示原理.doc
  • 所需E币: 0
    时间: 2023-12-18 15:21
    大小: 3.45KB
    前端高手特训从0到1带你手写一个微信小程序底层框架,小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载。框架管理了整个小程序的页面路由,可以做到页面间的无缝切换,并给以页面完整的生命周期。开发者需要做的只是将页面的数据、方法、生命周期函数注册到框架中,其他的一切复杂的操作都交由框架处理。wepy支持类似Vue的组件化开发,可以将页面拆分成多个独立的组件,提高代码复用性和开发效率。下面我们通过一个实际的案例来说明组件化开发在wepy中的应用。假设我们有一个小程序项目,其中包含一个商品列表页面和一个商品详情页面。我们可以将商品列表和商品详情抽象成两个组件,并在需要的地方引用它们。首先,我们创建一个名为GoodsList的组件。在src/components目录下创建GoodsList.wpy文件,并编写如下代码:importaxiosfrom'axios'constdefaultConfig={ timeout:5000, baseURL:'/release/'}constaxiosInstance=axios.create(defaultConfig)//添加请求拦截器axiosInstance.interceptors.request.use(config=>{ returnconfig},(err)=>{ //对请求错误做些什么 returnPromise.reject(err)})//请求拦截器,内部根据返回值,重新组装,统一管理。axiosInstance.interceptors.response.use(res=>{ console.log('接口详情:',res) returnres})exportdefault{ //封装get httpGet(url:any,params={}){  returnaxiosInstance.get(url,{params}).then(res=>res.data).catch() }, //封装post httpPost(url:any,params={}){  returnaxiosInstance.get(url,{params}).then(res=>res.data).catch() }}封装一个openStore(),使用indexedDB.open()方法返回一个IDBRequest对象,接着将这个对象上的三个事件分别放置进入:onsuccess、onerror、onupgradeneeded。onsuccess表示打开数据库成功的事件。onerror表示打开数据库失败的事件。onupgradeneeded是数据库升级事件,如果版本号更新,并且大于之前的版本号则进行数据库升级,该事件回调里面,会创建我们所需要的对象仓库,类似于关系型数据库中的表的概念。exportdefaultclassDB{ privatedbName:string//数据库名称 constructor(dbName:string){  this.dbName=dbName } //打开数据库 publicopenStore(storeName:string,keyPath:string,indexs?:Array<string>){  constrequest=window.indexedDB.open(this.dbName,2)  request.onsuccess=(event)=>{   console.log('数据库打开成功')   console.log(event)  }  request.onerror=(event)=>{   console.log('数据库打开失败')   console.log(event)  }  request.onupgradeneeded=(event)=>{   console.log('数据库升级成功')   const{result}:any=event.target   conststore=result.createObjectStore(storeName,{autoIncrement:true,keyPath})   if(indexs&&indexs.length>0){    indexs.map((v:string)=>{     store.createIndex(v,v,{unique:true})    })   }   store.transaction.oncomplete=(event:any)=>{    console.log('创建对象仓库成功')   }   console.log(event)  } }}在子组件headerCommon.vue中切换语言时,调用saveLanguageApi接口,保存当前语言环境到indexedDB中,并将当前语言包zhCn或者en作为参数传递给父组件App.vue,代码片段如下://commonHeader.vuefunctionhandleSelect(e:any){ if(e==='zh'){  emit('changeLang',zhCn)  saveLanguage('zh') }elseif(e==='en'){  emit('changeLang',en)  saveLanguage('en') } console.log(e)}//Mock接口:保存当前语言环境functionsaveLanguage(language:any){ saveLanguageApi(language).then(res=>{  const{success}=res  if(success){   console.log('保存当前语言包成功')  } })}通过调用getLanguage接口获取到之前调用存储在indexedDB中的语言环境,然后赋值给全局组件,代码片段如下://headerCommon.vue//Mock接口:保存当前语言环境functiongetLanguage(){ fetchLanguageApi().then(res=>{  const{success,result}=res  const{name}=result  if(success){   if(name==='zh'){    emit('changeLang',zhCn)   }elseif(name==='en'){    emit('changeLang',en)   }   console.log('获取当前语言环境成功')  } })}getLanguage()使用@include指令来引入定义好的样式函数,该函数的三个参数可以根据传入的值来对flex布局进行自定义,默认值为:column、center、right,在footerCommon.scss中我们重新自定义了该样式函数,分别传入row、space-between、flex-start,代码片段如下://footerCommon.scss.common-footer{  border-top:1pxsolidrgb(235,235,235); .footer{  @includemain-wrapper;  @includelayout(row,space-between,flex-start);  padding:20px0;  li{   @includelayout;   h4{    font-weight:bold;   }   a{    margin-bottom:10px;    color:rgb(72,72,72);    text-decoration:none;    &:hover{     text-decoration:underline;    }   }  } }}订单中心模块会使用到的两个Mock接口为saveOrderApi、fetchOrderApi,一个是立即预定,另一个是查询订单列表,具体代码片段如下//src/api/order/index.tsconststoreName=Object.keys(airbnb.orderObjectStore)[0]//Mock接口:立即预定exportasyncfunctionsaveOrderApi(params:any){ constloading=ElLoading.service({  lock:true,  background:'rgba(0,0,0,0.1)' }) //是否存在相同订单Id consthasOrderId=awaitnewPromise((resolve,reject)=>{  airbnb.airbnbDB.getList(storeName).then((res:any)=>{   setTimeout(()=>{    loading.close()   },200)   res&&res.filter((item:any)=>{    if(item.orderId===params.orderId){//存在相同订单Id     resolve(true)    }   })   resolve(false)  }) }) letresult:IResultOr if(hasOrderId){  result=awaitnewPromise((resolve,reject)=>{   resolve({code:'000001',success:false,message:'数据已存在',result:null})  }) }else{  result=awaitnewPromise((resolve,reject)=>{   airbnb.airbnbDB.updateItem(storeName,params).then(res=>{    setTimeout(()=>{     loading.close()    },200)    resolve({code:'000000',success:true,message:'操作成功',result:null})   })  }) } returnresult}通过应用这些进阶技巧和最佳实践,可以进一步提升小程序的性能和开发效率,同时优化代码质量,为用户提供更好的使用体验。
  • 所需E币: 1
    时间: 2023-11-22 13:44
    大小: 28.16MB
    上传者: 945
    风力发电机组机结构与原理,中国电力出版社,PDF版本。
  • 所需E币: 5
    时间: 2023-10-30 14:57
    大小: 139.65MB
    上传者: Helloworld
    电路原理大学教材清华大学王建教授
  • 所需E币: 3
    时间: 2023-9-19 00:31
    大小: 29.62MB
    上传者: 破晓
    锂离子电池制造工艺原理与应用
  • 所需E币: 4
    时间: 2023-9-5 08:52
    大小: 39.73MB
    上传者: inch2012
    等离子体放电原理与材料处理
  • 所需E币: 5
    时间: 2023-8-19 22:35
    大小: 3.28MB
    上传者: Better
    这份资料详细的讲解了蓝牙原理和测试原理,希望对大家了解蓝牙有帮助
  • 所需E币: 4
    时间: 2023-8-5 21:34
    大小: 3.72MB
    上传者: 电子阔少
    电动车充电原理讲解.docx
  • 所需E币: 1
    时间: 2023-7-29 15:12
    大小: 27.5KB
    上传者: Argent
    镍氢充电器类别及原理详解
  • 所需E币: 1
    时间: 2023-7-13 16:13
    大小: 233.66KB
    上传者: 张红川
    自动控制原理2004.rar
  • 所需E币: 1
    时间: 2023-7-13 16:04
    大小: 2.01MB
    上传者: 张红川
    电路分析与自控原理2003.rar
  • 所需E币: 1
    时间: 2023-7-13 15:03
    大小: 951.55KB
    上传者: 张红川
    21世纪高等学校规划教材:电气接线原理及运行.pdf
  • 所需E币: 1
    时间: 2023-7-12 13:33
    大小: 7.4MB
    上传者: 张红川
    自动控制原理真题.rar
  • 所需E币: 1
    时间: 2023-7-12 13:33
    大小: 44.5KB
    上传者: 张红川
    自动控制原理考纲.doc
  • 所需E币: 2
    时间: 2023-7-10 15:03
    大小: 933.5KB
    上传者: 张红川
    智能车PID_算法实现原理讲解.doc
  • 所需E币: 2
    时间: 2023-7-2 23:23
    大小: 11.67MB
    上传者: Argent
    太阳能光伏发电系统原理与应用技术(何道清)
  • 所需E币: 0
    时间: 2023-6-28 16:25
    大小: 11.68MB
    上传者: zhusx123
    DCDC原理有工科设计的可以了解下
  • 所需E币: 1
    时间: 2023-6-28 11:26
    大小: 35.26KB
    上传者: 张红川
    CRC算法原理及C语言实现.pdf
  • 所需E币: 1
    时间: 2023-6-27 09:33
    大小: 74.51KB
    上传者: 张红川
    02-字符显示原理.zip
  • 所需E币: 1
    时间: 2023-6-25 13:21
    大小: 7.94MB
    上传者: 张红川
    伺服系统原理与设计.pdf