当前位置: 首页 > news >正文

英文版本-带EXCEL函数的数据分析

一、问题:

二、表格内容

三、分析结果

四、具体的操作步骤:

  1. 销售工作表公式设计与数据验证

    • 类别(Category)列公式
      • Category列(假设为D列),根据ProductCodeCatalogue工作表中查找对应的类别。假设Sales工作表中ProductCodeC列,在D2单元格(假设数据从第二行开始)输入公式=VLOOKUP(C2,Catalogue!$A$2:$D$13,2,FALSE),然后向下填充至数据末尾。此公式在Catalogue工作表的A2:D13区域(产品代码、类别、产品名称、价格列)中,根据Sales工作表中的产品代码查找对应的类别。
    • 价格(Price)列公式
      • Price列(假设为E列),同样根据ProductCode查找价格。在E2单元格输入公式=VLOOKUP(C2,Catalogue!$A$2:$D$13,4,FALSE),向下填充。该公式在Catalogue工作表中查找产品代码对应的价格。
    • 总计(Total (HK$))列公式
      • Total (HK$)列(假设为G列),总计等于价格乘以数量。在G2单元格输入公式=E2*F2,然后向下填充。这里利用了价格列和数量列的数据来计算每笔销售的总计金额。
    • 现金(Cash (HK$))列公式及数据验证
      • 公式:在Cash (HK$)列(假设为H列),如果销售地点是 “Web”,则现金等于总计,因为网上购物只能用信用卡支付现金,相当于现金支付全部金额;如果销售地点不是 “Web”,则现金由用户输入,但需满足现金小于等于总计且现金是 50 的倍数(因为可能使用现金券支付剩余部分)。在H2单元格输入公式=IF(B2="Web",G2,IF(AND(H2<=G2,MOD(H2,50)=0),H2,"")),向下填充。这里的IF函数先判断销售地点,如果是 “Web” 就取总计金额,否则进一步判断输入的现金是否符合条件,如果不符合就显示空值(因为假设用户输入错误数据时先不显示错误提示,只显示空值,后续可通过数据验证提醒用户)。
      • 数据验证:选中H列(现金列),点击 “数据” 选项卡中的 “数据验证”。在 “设置” 选项卡中,允许选择 “自定义”,公式输入=AND(H2<=G2,MOD(H2,50)=0)。这样当用户输入现金数据时,如果不符合现金小于等于总计且是 50 倍数的条件,就会弹出提示框告知用户输入错误。
    • 现金券(Voucher (HK$))列公式及数据验证
      • 公式:在Voucher (HK$)列(假设为I列),现金券金额等于总计减去现金(如果现金输入正确的话)。在I2单元格输入公式=G2 - H2,向下填充。
      • 数据验证:选中I列(现金券列),点击 “数据” 选项卡中的 “数据验证”。在 “设置” 选项卡中,允许选择 “自定义”,公式输入=I2=G2 - H2。这样当用户输入现金数据后,现金券列会自动计算并验证计算结果是否正确,如果不正确会弹出提示框。
  2. 创建分析工作表并进行数据分析和可视化

    • 创建分析工作表:在 Excel 中插入一个新工作表,重命名为 “分析”。
    • 按销售地点统计销售总额
      • 在 “分析” 工作表中,使用SUMIF函数统计不同销售地点的销售总额。假设Sales工作表中销售地点在B列,总计在G列。在 “分析” 工作表的A2单元格输入 “销售地点”,B2单元格输入 “销售总额”。在A3单元格输入 “Ocean Park”,在B3单元格输入公式=SUMIF(Sales!$B$2:$B$18,"Ocean Park",Sales!$G$2:$G$18),计算海洋公园的销售总额;在A4单元格输入 “Ocean Park Hotel”,在B4单元格输入公式=SUMIF(Sales!$B$2:$B$18,"Ocean Park Hotel",Sales!$G$2:$G$18),计算海洋公园酒店的销售总额;在A5单元格输入 “Web”,在B5单元格输入公式=SUMIF(Sales!$B$2:$B$18,"Web",Sales!$G$2:$G$18),计算网上商店的销售总额。
    • 按类别统计销售总额
      • 在 “分析” 工作表中,继续统计不同类别的销售总额。在A7单元格输入 “类别”,B7单元格输入 “销售总额”。在A8单元格输入 “Bag”,在B8单元格输入公式=SUMIF(Sales!$D$2:$D$18,"Bag",Sales!$G$2:$G$18),计算包类产品的销售总额;在A9单元格输入 “Accessory”,在B9单元格输入公式=SUMIF(Sales!$D$2:$D$18,"Accessory",Sales!$G$2:$G$18),计算配件类产品的销售总额;在A10单元格输入 “Toy”,在B10单元格输入公式=SUMIF(Sales!$D$2:$D$18,"Toy",Sales!$G$2:$G$18),计算玩具类产品的销售总额。
    • 创建图表
      • 选中A2:B5单元格区域(销售地点和销售总额数据),点击 “插入” 选项卡,选择合适的图表类型,如柱状图,以直观展示不同销售地点的销售情况对比。
      • 再选中A7:B10单元格区域(类别和销售总额数据),同样插入合适的图表,如饼图,以展示各类产品销售总额的占比情况。
    • 描述发现
      • 在 “分析” 工作表中,可以描述以下发现:
        • 从销售地点来看,[销售总额最高的地点] 的销售额最高,可能是因为该地点的客流量较大或者产品展示更吸引人等原因。而 [销售总额最低的地点] 销售额较低,需要进一步分析是市场定位问题还是营销推广不足等因素导致,考虑是否需要调整营销策略或改善该地点的购物环境等。
        • 从产品类别来看,[销售总额最高的类别] 是最受欢迎的产品类别,可能是由于该类产品的设计、实用性或与海洋公园主题的契合度较高。对于销售不佳的类别,如 [销售总额最低的类别],可以考虑优化产品设计、调整价格策略或加强促销活动,以提高其销售额。同时,根据各类产品的销售趋势,合理安排库存,避免积压或缺货现象。例如,如果某类产品销售持续增长,可以适当增加库存;如果某类产品销售不佳且库存积压,可以考虑促销清货或改进产品。
        • (英文版本:In the "Analysis" worksheet, the following findings can be described: From the perspective of sales locations, the sales volume at Ocean Park is the highest, which may be due to the larger passenger flow at this location or more attractive product displays. However, the sales volume at Ocean Park Hotel is relatively low, and further analysis is needed to determine whether it is caused by market positioning issues or insufficient marketing and promotion. Consider whether it is necessary to adjust the marketing strategy or improve the shopping environment at this location. From the perspective of product categories, "Bag" is the most popular product category, which may be due to the design, practicality of this type of product, or a higher degree of fit with the theme of the Ocean Park. For poorly-selling categories, such as "Accessory", optimization of product design, adjustment of price strategies, or strengthening of promotional activities can be considered to increase sales. At the same time, according to the sales trends of various product categories, reasonable inventory arrangements should be made to avoid overstocking or out-of-stock situations.)

相关文章:

英文版本-带EXCEL函数的数据分析

一、问题&#xff1a; 二、表格内容 三、分析结果 四、具体的操作步骤&#xff1a; 销售工作表公式设计与数据验证 类别&#xff08;Category&#xff09;列公式&#xff1a; 在Category列&#xff08;假设为D列&#xff09;&#xff0c;根据ProductCode在Catalogue工作表中查找…...

LangChain入门

LangChain入门 &#xff5c; 豆包MarsCode AI 刷题 本篇文章为《LangChain 实战课》前三节课的总结性文章&#xff0c;主要内容包含内容梳理与总结&#xff0c;学习记录&#xff0c;以及一些思考。 01开篇词&#xff5c;带你亲证AI应用开发的“奇点”时刻 内容 这篇文章介绍…...

STM32-- 串口介绍

rs485、rs232、rs422 rs485使用&#xff1a; max3485&#xff1a;3.3v左右驱动 max485&#xff1a;5v左右驱动&#xff0c;不过有时候3.3v驱动也可以使用&#xff0c;具体有什么问题或者通过电路规避问题还没有了解过。 rs485和rs422有相同的地方&#xff0c;485满足422的规…...

【Python TensorFlow】进阶指南(续篇三)

在前几篇文章中&#xff0c;我们探讨了TensorFlow的高级功能&#xff0c;包括模型优化、分布式训练、模型解释等多个方面。本文将进一步深入探讨一些更具体和实用的主题&#xff0c;如模型持续优化的具体方法、异步训练的实际应用、在线学习的实现细节、模型服务化的最佳实践、…...

仓颉——申请内测、环境搭建、编译测试

2024年6月21日&#xff0c;华为仓颉正式公开发布。 不少同学看过仓颉白皮书后&#xff0c;都在找SDK从哪下载&#xff0c;HelloWorld怎么跑。仓颉公众号也及时发布了内测的方式&#xff0c;我也亲自走了一遍整个流程&#xff0c; 一&#xff0c;申请内测 关注“仓颉编程语言…...

C语言教程指针笔记整理(二)

https://www.bilibili.com/video/BV1cx4y1d7Ut?spm_id_from333.788.videopod.episodes&vd_sourcee8984989cddeb3ef7b7e9fd89098dbe8&p107 本篇为贺宏宏老师C语言教程指针部分笔记整理 //8-19 一维数组和二维数组 // int arr[4] [][][][] //含义&#xff1a; //1.arr…...

3.无重复字符的最长子串 python

无重复字符的最长子串 题目描述示例 1:示例 2:示例 3:提示&#xff1a;题目链接 解题思路Python 实现详细解释 题目描述 给定一个字符串 s &#xff0c;请你找出其中不含有重复字符的最长 子串的长度。 示例 1: 输入: s “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子…...

NIST 发布后量子密码学转型战略草案

美国国家标准与技术研究所 (NIST) 发布了其初步战略草案&#xff0c;即内部报告 (IR) 8547&#xff0c;标题为“向后量子密码标准过渡”。 该草案概述了 NIST 从当前易受量子计算攻击的加密算法迁移到抗量子替代算法的战略。该草案于 2024 年 11 月 12 日发布&#xff0c;开放…...

高危,Laravel参数注入漏洞安全风险通告

今日&#xff0c;亚信安全CERT监控到安全社区研究人员发布安全通告&#xff0c;披露了Laravel 参数注入漏洞(CVE-2024-52301)。在受影响的版本中&#xff0c;Application.php 文件的 detectEnvironment 函数直接使用了 $_SERVER[argv]&#xff0c;但没有检查运行环境是否为 CLI…...

【漏洞复现】|智互联SRM智联云采系统quickReceiptDetail SQL注入漏洞

漏洞描述 智互联(深圳)科技有限公司SRM智联云采系统针对企业供应链管理难题&#xff0c;及智能化转型升级需求&#xff0c;智联云采依托人工智能、物联网、大数据、云等技术&#xff0c;通过软硬件系统化方案&#xff0c;帮助企业实现供应商关系管理和采购线上化、移动化、智能…...

【Visual Studio系列教程】如何在 VS 上编程?

上一篇博客中&#xff0c;我们介绍了《什么是 Visual Studio&#xff1f;》。本文&#xff0c;我们来看第2篇《如何在 VS 上编程&#xff1f;》。阅读本文大约10 分钟。我们会向文件中添加代码&#xff0c;了解 Visual Studio 编写、导航和了解代码的简便方法。 本文假定&…...

Pytest-Bdd-Playwright 系列教程(12):步骤参数 parsers参数解析

Pytest-Bdd-Playwright 系列教程&#xff08;12&#xff09;&#xff1a;步骤参数 & parsers参数解析 前言一、什么是步骤参数&#xff1f;二、pytest-bdd 的步骤参数用法2.1 简单字符串解析2.2 自定义正则表达式解析2.3 参数类型转换 三、案例&#xff1a;基于 pytest-bdd…...

java 增强型for循环 详解

Java 增强型 for 循环&#xff08;Enhanced for Loop&#xff09;详解 增强型 for 循环&#xff08;也称为 “for-each” 循环&#xff09;是 Java 从 JDK 5 开始引入的一种便捷循环语法&#xff0c;旨在简化对数组或集合类的迭代操作。 1. 基本语法 语法格式 for (类型 变量…...

RUST学习教程-安装教程

文章目录 参考文档安装教程更新卸载 参考文档 https://course.rs/first-try/installation.html 安装教程 Linux或者mac安装教程 curl --proto https --tlsv1.2 https://sh.rustup.rs -sSf | sh安装完成&#xff0c;当出现command not found的时候&#xff0c;需要source一下…...

第十六届蓝桥杯模拟赛(第一期)-c++/c

c/c蓝桥杯模拟赛题解&#xff0c;非常详细 质因数 1、填空题 【问题描述】 如果一个数 p 是个质数&#xff0c;同时又是整数 a 的约数&#xff0c;则 p 称为 a 的一个质因数。 请问 2024 有多少个质因数。 【答案提交】 这是一道结果填空的题&#xff0c;你只需要算出结果后提…...

使用uniapp编写APP的文件上传

使用uniapp插件文件选择、文件上传组件&#xff08;图片&#xff0c;视频&#xff0c;文件等&#xff09; - DCloud 插件市场 实用效果&#xff1a; 缺陷是只能一个一个单独上传...

Go语言从入门到精通

go相关命令 //对go源码进行编译&#xff0c;生成.exe文件 go build go文件名//直接运行go源码&#xff08;生成.exe文件执行后&#xff0c;又删除.exe文件&#xff09; go run go文件名go中的package和import /*package&#xff1a;用来声明这个文件是属于哪个包的*/ package…...

捉虫记录02-Nacos访问失败

目录 一、问题 二、排查 三、解决方案 一、问题 在访问nacos的时候出现以下问题&#xff1a; 二、排查 先用docker logs nacos来查找报错信息 docker logs nacos 看问题报错就是数据源问题&#xff0c;nacos没能连接上mysql 三、解决方案 第一步 docker restart mysql …...

安宝特方案 | AR助力紧急救援,科技守卫生命每一刻!

在生死时速的紧急救援战场上&#xff0c;每一秒都至关重要&#xff01;随着科技的发展&#xff0c;增强现实&#xff08;AR&#xff09;技术正在逐步渗透到医疗健康领域&#xff0c;改变着传统的医疗服务模式。 安宝特AR远程协助解决方案&#xff0c;凭借其先进的技术支持和创新…...

超详细:Redis分布式锁

如何基于 Redis 实现一个最简易的分布式锁&#xff1f; 不论是本地锁还是分布式锁&#xff0c;核心都在于“互斥”。 在 Redis 中&#xff0c; SETNX 命令是可以帮助我们实现互斥。SETNX 即 SET if Not eXists (对应 Java 中的 setIfAbsent 方法)&#xff0c;如果 key 不存在…...

@Autowired 和 @Resource思考(注入redisTemplate时发现一些奇怪的现象)

1. 前置知识 Configuration public class RedisConfig {Beanpublic RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {RedisTemplate<String, Object> template new RedisTemplate<>();template.setConnectionFactory(facto…...

MTK主板定制_联发科主板_MTK8766/MTK8768/MTK8788安卓主板方案

主流市场上的MTK主板通常采用联发科的多种芯片平台&#xff0c;如MT8766、MT6765、MT6762、MT8768和MT8788等。这些芯片基于64位Cortex-A73/A53架构&#xff0c;提供四核或八核配置&#xff0c;主频可达2.1GHz&#xff0c;赋予设备卓越的计算与处理能力。芯片采用12纳米制程工艺…...

k8s篇之控制器类型以及各自的适用场景

1. k8s中控制器介绍 在 Kubernetes 中,控制器(Controller)是集群中用于管理资源的关键组件。 它们的核心作用是确保集群中的资源状态符合用户的期望,并在需要时自动进行调整。 Kubernetes 提供了多种不同类型的控制器,每种控制器都有其独特的功能和应用场景。 2. 常见的…...

VideoCrafter模型部署教程

一、介绍 VideoCrafter是一个功能强大的AI视频编辑和生成工具&#xff0c;它结合了深度学习和机器学习技术&#xff0c;为用户提供了便捷的视频制作和编辑体验。 系统&#xff1a;Ubuntu22.04系统&#xff0c;显卡&#xff1a;4090&#xff0c;显存&#xff1a;24G 二、基础…...

mysql 与 mybatis 错误记录

DATE_FORMAT(FROM_UNIXTIME(start_time / 1000)只能传秒级时间戳&#xff0c;毫秒级时间戳group后不能select; tinyint(1)会被mybatis自动翻译为Boolean值&#xff0c;可以使用resultMap重新映射一下来解决&#xff0c;select使用了别名&#xff0c;在resultMap中映射column也必…...

本地git多用户ssh配置

仅作备份&#xff0c;不做解释 1. ~/.ssh/config Host jeadyx.gitee.com HostName gitee.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa_jeadyxHost jeady5.gitee.com HostName gitee.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_…...

macbook外接2k/1080p显示器调试经验

准备工具 电脑 满足电脑和显示器要求的hdmi线或者转接头或者扩展坞 betterdisplay软件 Dell P2419H的最佳显示信息如下 飞利浦 245Es 2K的最佳显示比例如下 首选1152...

如何删除Kafka中的数据以及删除topic

如何删除Kafka数据已经以及删除topic呢&#xff1f; 1、删除数据 先启动Kafka实例 docker exec -it kafka-0 /bin/bash #进去容器 rm -rf /bitnami/kafka/data/* #删除数据 exit #退出如果删除失败&#xff0c;可能是数据不存在于/bitnami/kafka/data&#xff0c;使用 cd /o…...

wordpress二开-WordPress新增页面模板-说说微语

微语说说相当于一个简单的记事本&#xff0c;使用还是比较方便的。这个版本的说说微语CSS样式不兼容&#xff0c;可能有些主题无法适配&#xff0c;但是后台添加内容&#xff0c;前端显示的逻辑已经实现。可以当作Word press二开中自定义页面模板学习~ 一、后台添加说说微语模…...

Java学习笔记--数组常见算法:数组翻转,冒泡排序,二分查找

目录 一&#xff0c;数组翻转 二&#xff0c;冒泡排序 三&#xff0c;二分查找&#xff08;一尺之锤&#xff0c;日取其半&#xff0c;万世不竭&#xff09; 一&#xff0c;数组翻转 1.概述:数组对称索引位置上的元素互换&#xff0c;最大值数组序号是数组长度减一 创建跳板…...

使用 OpenAI 进行数据探索性分析(EDA)

探索性数据分析&#xff08;Exploratory Data Analysis, 简称 EDA&#xff09;是数据分析中不可或缺的环节&#xff0c;帮助分析师快速了解数据的分布、特征和潜在模式。传统的 EDA 通常需要手动编写代码或使用工具完成。现在&#xff0c;通过 OpenAI 的 GPT-4 模型&#xff0c…...

Jdk1.8新特性

新增的类以及常用的方法 在Java的java.util.concurrent包中&#xff0c;除了之前提到的并发工具类外&#xff0c;还有一些新增的类以及它们常用的方法。以下是一些例子&#xff1a; 新增的类 ‌CompletableFuture‌&#xff1a; CompletableFuture是Java 8中引入的一个类&a…...

丹摩征文活动 | AI创新之路,DAMODEL助你一臂之力GPU

目录 前言—— DAMODEL&#xff08;丹摩智算&#xff09; 算力服务 直观的感受算力提供商的强大​ 平台功能介绍​ 镜像选择 云磁盘创建 总结 前言—— 只需轻点鼠标,开发者便可拥有属于自己的AI计算王国 - 从丰富的GPU实例选择,到高性能的云磁盘,再到预配置的深度学习…...

mock.js:定义、应用场景、安装、配置、使用

前言&#xff1a;什么是mock.js&#xff1f; 作为一个前端程序员&#xff0c;没有mockjs你不感觉很被动吗&#xff1f;你不感觉你的命脉被后端那个男人掌握了吗&#xff1f;所以&#xff0c;我命由我不由天&#xff01;学学mock.js吧&#xff01; mock.js 是一个用于生成随机…...

优化 MFC CGridCtrl 的表格布局与功能

在使用 MFC 的 CGridCtrl 控件创建表格时&#xff0c;遇到的一个典型问题是&#xff0c;当表格滚动条出现时&#xff0c;最后一列会显示空白。这篇博客将记录解决这一问题的详细过程&#xff0c;同时总结了 CGridCtrl 初始化及优化的关键步骤&#xff0c;帮助开发者快速搭建一个…...

Unity 编辑器下 Android 平台 Addressable 加载模型粉红色,类似材质丢失

Unity 编辑器下 Android 平台 Addressable 加载模型粉红色&#xff0c;类似材质丢失 Addressable Play Mode Script加载模式 选择 Use Existiing Build 1.Unity 切换到 PC 平台&#xff0c;执行 Addressable Build 运行&#xff0c;加载 bundle 内的预制体 显示正常 2.Unit…...

直播预告| 深入探索 DB-GPT GraphRAG 的设计解读与优化

前言 感谢DB-GPT的社区朋友持续关注我们的源码解读系列&#xff5e;在前几期的直播中&#xff0c;我们深入探讨了DB-GPT的架构设计、智能体工作流、Agent开发等话题&#xff0c;受到了热烈反响。 本期&#xff0c;我们邀请到了社区的老朋友&#xff0c;也是DB-GPT GraphRag的维…...

C语言:指针变量作为函数参数

在c语言中&#xff0c;函数的参数不仅可以是整数&#xff0c;小数、字符等具体的数据&#xff0c;还可以是指向他们的指针&#xff0c;用指针变量做函数&#xff0c;参数可以将函数外部的地址传递给函数内部&#xff0c;使得在函数内部可以操作函数外部的数据&#xff0c;并且这…...

机器学习基础06

目录 1.梯度下降 1.1梯度下降概念 1.2梯度下降公式 1.3学习率 1.4实现梯度下降 1.5API 1.5.1随机梯度下降SGD 1.5.2小批量梯度下降MBGD 1.6梯度下降优化 2.欠拟合过拟合 2.1欠拟合 2.2过拟合 2.3正则化 2.3.1L1正则项&#xff08;曼哈顿距离&#xff09; 2.3.2…...

RecyclerView详解——(四)缓存复用机制

稍微看了下源码和部分文章&#xff0c;在此做个小小的总结 RecyclerView&#xff0c;意思为可回收的view&#xff0c;那么相对于listview&#xff0c;他的缓存复用肯定是一大优化。 具体而言&#xff0c;当一个列表项被移出屏幕后&#xff0c;RecyclerView并不会销毁其视图&a…...

向量数据库FAISS之五:原理(LSH、PQ、HNSW、IVF)

1.Locality Sensitive Hashing (LSH) 使用 Shingling MinHashing 进行查找 左侧是字典&#xff0c;右侧是 LSH。目的是把足够相似的索引放在同一个桶内。 LSH 有很多的版本&#xff0c;很灵活&#xff0c;这里先介绍第一个版本&#xff0c;也是原始版本 Shingling one-hot …...

速盾:CDN缓存的工作原理是什么?

CDN&#xff08;内容分发网络&#xff09;是一种将内容分发到全球不同地理位置的网络架构&#xff0c;以提供更快速、可靠的内容传输。其核心原理是利用缓存技术&#xff0c;将数据内容分布到离用户最近的边缘节点上。当用户请求内容时&#xff0c;CDN将根据用户的IP地址&#…...

使用 Elastic AI Assistant for Search 和 Azure OpenAI 实现从 0 到 60 的转变

作者&#xff1a;来自 Elastic Greg Crist Elasticsearch 推出了一项新功能&#xff1a;Elastic AI Assistant for Search。你可以将其视为 Elasticsearch 和 Kibana 开发人员的内置指南&#xff0c;旨在回答问题、引导你了解功能并让你的生活更轻松。在 Microsoft AI Services…...

SQL基础语法介绍-基于MySQL

文章目录 一、SQL分类二、SQL语法1.数据库字段类型1.1.数值类型1.2 字符类型1.3 日期类型 2.字段约束2.1约束介绍2.2 非空约束&#xff08;not null&#xff09;2.3 唯一约束&#xff08;unique&#xff09;2.4 主键约束&#xff08;primary key&#xff09;2.5 自增长主键2.6 …...

android 性能分析工具(03)Android Studio Profiler及常见性能图表解读

说明&#xff1a;主要解读Android Studio Profiler 和 常见性能图表。 Android Studio的Profiler工具是一套功能强大的性能分析工具集&#xff0c;它可以帮助开发者实时监控和分析应用的性能&#xff0c;包括CPU使用率、内存使用、网络活动和能耗等多个方面。以下是对Android …...

【STM32项目】基于STM32设计的震动马达超声波电机高频震动——高级定时器PWM互补输出带死区控制

高级定时器PWM互补输出带死区控制 前言:实现高级定时器互补输出带死区控制,实现震动/超声波电机/马达,高频震动。使用 STM32F103 芯片输出两路互补 PWM,并带有死区和刹车控制功能。 定时器 1 通道 1 及其互补通道输出 PWM,且带死区控。当定时器 1 的刹车输入引脚被拉…...

深入探索Golang的GMP调度机制:源码解析与实现原理

在Golang&#xff08;又称Go语言&#xff09;的并发编程模型中&#xff0c;GMP调度模型扮演着举足轻重的角色。GMP分别代表Goroutine&#xff08;协程&#xff09;、M&#xff08;Machine&#xff0c;即内核线程&#xff09;和P&#xff08;Processor&#xff0c;即逻辑处理器&…...

Django如何配置多个环境的MySQL数据库

在 Django 项目中配置多个环境的 MySQL 数据库是一个常见的需求&#xff0c;特别是在开发、测试和生产环境中使用不同的数据库配置。你可以通过在 settings.py 文件中使用条件语句或环境变量来实现这一点。 1. 使用环境变量 使用环境变量是一种灵活且安全的方式来配置多个环境…...

数据结构(链栈——c语言实现)

链式栈&#xff08;Linked Stack&#xff09;是一种基于链表数据结构实现的栈。它利用链表节点的指针来存储元素&#xff0c;并通过指针的链接关系来维护栈的后进先出&#xff08;LIFO, Last In First Out&#xff09;特性。 链式栈的优点 动态大小&#xff1a; 链式栈…...

FPGA实现串口升级及MultiBoot(九)BPI FLASH相关实例演示

本文目录索引 区别一:启动流程的区别区别二:高位地址处理区别三:地址映射例程说明总结例程地址之前一直都是以SPI FLASH为例进行相关知识讲解,今天我们介绍另一款常用的配置FLASH-BPI FLASH。 今天的讲解以简洁为主,主打个能用一句话不说两句话。以和SPI区别为主,实例演…...