单片机开发资源分析的实战——以STM32F103C8T6为例子的单片机资源分析
目录
第一点:为什么叫STM32F103C8T6
从资源手册拿到我们的对STM32F103C8T6的资源描述
第二件事情,关心我们的GPIO引脚输出
第三件事情:去找对应外设的说明部分
前言
本文章隶属于项目:
Charliechen114514/BetterATK: This is a repo that helps rewrite STM32 Common Repositorieshttps://github.com/Charliechen114514/BetterATK
第一点:为什么叫STM32F103C8T6
先不着急,我们先把命名规矩说一下:
部分 | 说明 |
---|---|
1. 产品系列 | 固定为“STM32”,表示基于ARM Cortex-M内核的32位微控制器。 |
2. 产品类型 | 用一个字母表示产品类型: F:通用型 L:低功耗型 W:无线型 |
3. 产品子系列 | 用三位数字表示产品子系列,指示特定的功能和性能: 101:基本型 102:USB基本型(USB 2.0全速设备) 103:增强型 105/107:互联型 |
4. 引脚数 | 用一个字母表示封装的引脚数量: T:36引脚 C:48引脚 R:64引脚 V:100引脚 Z:144引脚 I:176引脚 |
5. 闪存容量 | 用一个字母或数字表示内置的Flash容量: 6:32KB 8:64KB B:128KB C:256KB D:384KB E:512KB G:1MB |
6. 封装类型 | 用一个字母表示封装类型: H:BGA封装 T:LQFP封装 U:VFQFPN封装 |
7. 温度范围 | 用一个数字表示工作温度范围: 6:-40°C 至 85°C 7:-40°C 至 105°C |
以STM32F103C8T6作为例子:
-
STM32:代表基于ARM Cortex-M内核的32位微控制器。
-
产品类型:以字母表示,例如“F”代表通用型(General-purpose)。
-
子系列:以数字表示,例如“103”代表增强型系列(Performance Line)。
-
引脚数:以字母表示,常见选项如C(48脚)、R(64脚)、V(100脚)等。
-
闪存容量:以字母或数字表示,这里的数字“8”代表64KB
-
封装类型:以字母表示,例如“T”代表LQFP封装。
-
温度范围:以数字表示,“6”代表工业级温度(-40℃至85℃)。
从资源手册拿到我们的对STM32F103C8T6的资源描述
笔者在之前的博客中说到了我们的手册可以从哪里来,所以这里我们就不去再重复说下面的资源是从哪里考证的——就是从资源手册的第一页中摘取的。
分类 | 资源描述 |
---|---|
核心 | ARM 32位 Cortex-M3,主频72 MHz,性能90 DMIPS(1.25 DMIPS/MHz),单周期乘法与硬件除法,嵌套中断控制器,43个可屏蔽中断通道,6周期中断响应,支持尾链优化 |
存储器 | 32~128 KB Flash,6~20 KB SRAM |
时钟/复位/电源管理 | 工作电压2.0~3.6 V,带POR/PDR和可编程电压检测器(PVD),4~16 MHz晶振,内部8 MHz RC振荡器,内部32 kHz RC,支持PLL,独立32 kHz RTC晶振(可校准) |
低功耗模式 | 睡眠、停止、待机模式,支持VBAT电源供电的RTC和备份寄存器 |
ADC | 2个12位ADC,16通道,转换时间1 µs,支持双采样保持,可与高级定时器同步,内置温度传感器,输入范围0~3.6 V |
DMA | 7通道DMA控制器,支持的外设包括定时器、ADC、SPI、I2C、USART |
调试接口 | 支持Serial Wire Debug(SWD)与JTAG |
通用I/O口 | 最多80个高速I/O,32/49/80个支持5V容限,全部可映射至16个外部中断线,支持原子读/改/写操作 |
定时器 | 最多7个定时器,包括3个16位通用定时器(最多4个IC/OC/PWM/计数通道),1个16位6通道高级定时器(带PWM/死区/紧急停机),2个看门狗定时器(独立和窗口),1个SysTick 24位递减计数器 |
通信接口 | 最多9个:2个I2C(支持SMBus/PMBus),3个USART(支持ISO7816、LIN、IrDA、调制解调器控制),2个SPI(最高18 Mbit/s),1个CAN(2.0B),1个USB 2.0全速接口 |
可以看到,我们的STM32F103C8T6的资源还是非常的丰富的。
第二件事情,关心我们的GPIO引脚输出
我们的单片机最后是依靠GPIO引脚跟外界进行沟通,我们查询了上面的资源之,确定了这个板子是我们的一个可以选择的方案后,下一步,就是看看结合我们的需求,简单的调研一下我们的GPIO引脚的复用情况。
关于GPIO是什么,这个不是我们这篇博客的重点,笔者记得我前前后后说过两次。所以可以翻翻笔者之前的博客,看我的碎碎念。
简单的说,就是我们的GPIO引脚不可能单独的表达含义,我们可以采取复用策略(也就是说把XXXGPIO现在作为一个)
关于GPIO的复用,我们还是要去看资源手册。这一部分的内容一般是Pinouts and pin description那一部分的内容,注意,我们在学习其他的单片机的时候,可能板块不会叫这个名字。
笔者截取了一下我手头的手册的一个截图:
我们一般关心的是Pin name和右侧的一些说明。第一件事情是。
以PB8为例子,我们的PB8可以做普通的IO口,可以用来承受5V的电压(FT标识的部分就是可承受5V的意思),同时,我们的PB8可以做TIM4定时器的第三个通道和硬件IIC的SCL,或者是CAN通信下的接受端(CANRX)
笔者整理了一份STM32F103C8T6的引脚复用图,这个就是我们实际上编程关心的一个图。
引脚号 | 引脚名称 | 类型 | 默认功能 | 复用功能 | 说明 |
---|---|---|---|---|---|
1 | VBAT | 电源 | 备用电源 | - | 供电给RTC和备用寄存器 |
2 | PC13 | I/O | GPIO | TAMPER-RTC | 低功耗I/O,或作为RTC的篡改引脚 |
3 | PC14 | I/O | GPIO | OSC32_IN | 32.768 kHz外部晶振输入 |
4 | PC15 | I/O | GPIO | OSC32_OUT | 32.768 kHz外部晶振输出 |
5 | PD0 | I/O | GPIO | OSC_IN | 外部高速晶振输入 |
6 | PD1 | I/O | GPIO | OSC_OUT | 外部高速晶振输出 |
7 | NRST | 复位 | 复位 | - | 外部复位引脚 |
8 | VSSA | 电源 | 模拟地 | - | 模拟电源地 |
9 | VDDA | 电源 | 模拟电源 | - | 模拟电源正极 |
10 | PA0 | I/O | GPIO | WKUP1, ADC_IN0, TIM2_CH1_ETR | |
11 | PA1 | I/O | GPIO | ADC_IN1, TIM2_CH2 | |
12 | PA2 | I/O | GPIO | ADC_IN2, TIM2_CH3, USART2_TX | |
13 | PA3 | I/O | GPIO | ADC_IN3, TIM2_CH4, USART2_RX | |
14 | PA4 | I/O | GPIO | ADC_IN4, SPI1_NSS | |
15 | PA5 | I/O | GPIO | ADC_IN5, SPI1_SCK | |
16 | PA6 | I/O | GPIO | ADC_IN6, SPI1_MISO, TIM3_CH1 | |
17 | PA7 | I/O | GPIO | ADC_IN7, SPI1_MOSI, TIM3_CH2 | |
18 | PB0 | I/O | GPIO | ADC_IN8, TIM3_CH3 | |
19 | PB1 | I/O | GPIO | ADC_IN9, TIM3_CH4 | |
20 | PB2 | I/O | GPIO | BOOT1 | |
21 | PB10 | I/O | GPIO | I2C2_SCL, USART3_TX | |
22 | PB11 | I/O | GPIO | I2C2_SDA, USART3_RX | |
23 | PB12 | I/O | GPIO | SPI2_NSS, I2C2_SMBA | |
24 | PB13 | I/O | GPIO | SPI2_SCK | |
25 | PB14 | I/O | GPIO | SPI2_MISO | |
26 | PB15 | I/O | GPIO | SPI2_MOSI | |
27 | PC10 | I/O | GPIO | USART3_TX | |
28 | PC11 | I/O | GPIO | USART3_RX | |
29 | PC12 | I/O | GPIO | USART3_CK | |
30 | PD2 | I/O | GPIO | - | |
31 | PC0 | I/O | GPIO | ADC_IN10 | |
32 | PC1 | I/O | GPIO | ADC_IN11 | |
33 | PC2 | I/O | GPIO | ADC_IN12 | |
34 | PC3 | I/O | GPIO | ADC_IN13 | |
35 | PC4 | I/O | GPIO | ADC_IN14 | |
36 | PC5 | I/O | GPIO | ADC_IN15 | |
37 | PB8 | I/O | GPIO | I2C1_SCL, TIM4_CH3 | |
38 | PB9 | I/O | GPIO | I2C1_SDA, TIM4_CH4 | |
39 | AVSS | 电源 | 模拟地 | - | 模拟电源地 |
40 | AVDD | 电源 | 模拟电源 | - | 模拟电源正极 |
41 | PA8 | I/O | GPIO | MCO, TIM1_CH1 | |
42 | PA9 | I/O | GPIO | USART1_TX, TIM1_CH2 | |
43 | PA10 | I/O | GPIO | USART1_RX, TIM1_CH3 | |
44 | PA11 | I/O | GPIO | USART1_CTS, CAN_RX | |
45 | PA12 | I/O | GPIO | USART1_RTS, CAN_TX | |
46 | PA13 | I/O | GPIO | JTMS-SWDIO | |
47 | PA14 | I/O | GPIO | JTCK-SWCLK | |
48 | PA15 | I/O | GPIO | JTDI |
第三件事情:去找对应外设的说明部分
这个事情在我们的编程手册中才会涉及到,比如说,我们想要驱动IIC。
就要准备去对应的手册上慢慢翻。ST官方的手册比较全面,会仔细的介绍细节。这里给出的是英文手册的截图。
笔者接触到的流程大致就是如此。
相关文章:
单片机开发资源分析的实战——以STM32F103C8T6为例子的单片机资源分析
目录 第一点:为什么叫STM32F103C8T6 从资源手册拿到我们的对STM32F103C8T6的资源描述 第二件事情,关心我们的GPIO引脚输出 第三件事情:去找对应外设的说明部分 前言 本文章隶属于项目: Charliechen114514/BetterATK: This is…...
Error response from daemon: Get “https://registry-1.docker.io/v2/“: net/http: request canceled while
英俊潇洒很有才,美丽端庄又大方的人已经点赞收藏+关注了 文章目录 1.ubuntu解决方案2.Windows的解决办法(有威劈恩好搞)3.其他报错json格式错误下载的镜像有问题 最后 1.ubuntu解决方案 报错如图:timeout Error response from da…...
yolo模型学习笔记——1——物体检测评估指标
1.置信度 表示模型预测的边界框中存在目标物体的概率以及反应预测框和真实框的定位质量 2.阈值 (1)定义 决定一个预测框是否被视为为正类的关键参数,通过调整不同的阈值,获得不同的精度和召回率。yolo模型会为每个预测框生成一个置信度分数,…...
Elasticsearch 滚动索引(Rollover Index)详解
文章目录 1、滚动索引的作用2、滚动索引的用法2.1 核心概念2.2 实现步骤 3、适用场景4、与其他技术的结合使用5、案例:日志数据的滚动索引5.1 场景描述5.2 实现步骤 6、示例:结合索引生命周期管理(ILM)6.1 场景描述6.2 实现步骤 7…...
保持docker内容器一直运行
首先:确保Docker服务配置为开机自启,这样当虚拟机启动时,Docker也会启动,并按照设定的重启策略自动启动相关容器。 sudo systemctl enable docker 创建容器时: 当你使用docker run命令启动容器时,可以添…...
ChatBI 的技术演进与实践挑战:衡石科技如何通过 DeepSeek 实现商业落地
随着人工智能技术的快速发展,ChatBI(基于自然语言交互的商业智能)逐渐成为企业数据分析领域的热门话题。作为 BI(商业智能)领域的新形态,ChatBI 通过自然语言处理(NLP)技术ÿ…...
python-leetcode 55.子集
题目: 给定一个数组nums,数组中的元素互不相同,返回该数组所有可能子集(幂集) 解集不能包含重复的子集,可以按任意顺序返回解集 方法一:迭代法实现子集枚举 记原序列中元素的总数为 n,原序列…...
在LORA训练中,LORA模型的矩阵的行列是多少
在LORA训练中,LORA模型的矩阵的行列是多少: W n e w = W + α r B A W_{new}=W + \frac{\alpha}{r}BA...
冒泡排序:古老算法中的智慧启示
在计算机科学浩瀚的星空中,排序算法犹如璀璨的星辰,而冒泡排序恰似其中最朴实无华的一颗。这个诞生于计算机发展初期的经典算法,以其简单直观的逻辑原理,成为每个程序员启蒙阶段必经的试炼场。当我们凝视这个看似笨拙的排序方法时…...
基于ssm的电子病历系统(全套)
一、系统架构 前端:jsp | bootstrap | jquery 后端:spring | springmvc | mybatis 环境:jdk1.8 | mysql | maven | tomcat | idea 二、代码及数据库 三、功能介绍 01. 登录 02. 主页 03. 管理员-个人中心-修改密码…...
V2X验证
1. 标准和规范验证 欧洲对 DSRC 和 V2X 系统有一系列的标准和规范,主要由 ETSI (European Telecommunications Standards Institute) 和 IEEE 等组织制定。验证通常包括以下标准和规范: ETSI EN 302 571:这是DSRC在欧洲的主要标准,规定了DSRC系统的技术要求和操作条件。ET…...
SpringBoot美发门店管理系统开发与设计
在幽络源,我们致力于为开发者提供优质的技术资源和项目源码。今天,我们为大家分享一款基于SpringBoot开发的美发门店管理系统。该系统功能全面,操作便捷,适合中小型美发门店的管理需求。以下是系统的详细介绍。 系统功能模块 1.…...
Linux内核实时机制28 - RT调度器11 - RT 组调度
Linux内核实时机制28 - RT调度器11 - RT 组调度 相关数据结构 内核中通过static int sched_rt_runtime_exceeded(struct rt_rq *rt_rq)函数来判断实时任务运行时间是否超出带宽限制,判断这个运行队列rt_rq的运行时间是否超过了额定的运行时间。而“运行时间”和“额定时间”都…...
R语言——变量
参考资料:学习R 1、类 R中所有变量都有一个类,表明此变量属于什么类型。例如,大部分的数字是numeric类,逻辑值是logical类。其实,因为R没有标量类型(scalar type),所以更严格地我说…...
Appium使用文档
Appium旨在支持许多不同平台(移动端、网页端、桌面端等)的UI自动化。不仅如此,它还旨在支持用不同语言(JS、Java、Python等)编写的自动化代码。 Appium移动端自动化要求如下: 安装Appium安装UiAutomator2…...
Houdini :《哪吒2》神话与科技碰撞的创新之旅
《哪吒2》(即《哪吒之魔童闹海》)截止至今日,荣登全球票房榜第五。根据猫眼专业版数据,截至2025年3月15日,《哪吒2》全球累计票房(含预售及海外)超过150.19亿元,超越《星球大战&…...
单台openEuler24.03 LTS下的开源大数据环境搭建
目录 概述 准备 虚拟机基本设置 关闭及禁用防火墙 修改主机名 静态ip 映射主机名 创建普通用户 SSH免密登录 目录准备 安装Java 下载Java 解压 设置环境变量 安装Hadoop 下载hadoop 解压 设置环境变量 查看版本 配置hadoop 配置hadoop_env.sh 配置core-s…...
HarmonyOS开发,深拷贝、浅拷贝的封装和调用
在 HarmonyOS 开发中,实现深拷贝和浅拷贝可以通过封装工具类来完成。下面分别介绍浅拷贝和深拷贝的实现方式,并将它们封装成一个工具类。 浅拷贝和深拷贝的区别 浅拷贝:创建一个新对象,新对象的属性引用原始对象的属性。也就是说…...
C 环境设置指南
C 环境设置指南 引言 C语言作为一种历史悠久且功能强大的编程语言,在软件开发和系统编程领域占有举足轻重的地位。C语言环境设置是进行C语言编程的第一步,也是确保编程顺利进行的关键。本文将详细介绍C语言环境的设置过程,包括系统要求、开发工具的选择、环境变量的配置等…...
2018年全国职业院校技能大赛高职组-计算机网络应用竞赛竞赛样题E卷
目录 总体规划 模块二:设备基础信息配置 模块三:网络搭建与网络冗余备份方案部署 模块四:移动互联网搭建与网优 模块五:出口安全防护与远程接入 总体规划 医院在进行网络部分信息化建设方案设计过程中,需要保证医院、血液中心通过社保网进行互连互通,同时满足献血中心与医…...
大华HTTP协议在智联视频超融合平台中的接入方法
一. 大华HTTP协议介绍 大华HTTP协议是大华股份(Dahua Technology)为其安防监控设备开发的一套基于HTTP/HTTPS的通信协议,主要用于设备与客户端(如PC、手机、服务器)之间的数据交互。该协议支持设备管理、视频流获取、…...
Dify Docker 私有化部署遇到的问题
Dify 版本为1.01,本地使用 docker desktop,版本为4.38.0 (181591),以下是Dify部署及使用过程中遇到的问题,后续持续更新... db无法启动,一直提示:Permissions should be urwx (0700) or urwx,grx (0750).具…...
Python学习第十九天
Django-分页 后端分页 Django提供了Paginator类来实现后端分页。Paginator类可以将一个查询集(QuerySet)分成多个页面,每个页面包含指定数量的对象。 from django.shortcuts import render, redirect, get_object_or_404 from .models impo…...
大数据技术链路详解
随着大数据技术的不断发展,各种新兴技术层出不穷,今天我们就来详细拆解一条完整的大数据链路,看看每个环节都有哪些最新技术参与,以及它们如何发挥作用。 一、数据采集层 在大数据处理的第一步,数据采集至关重要。现代…...
vue computed 计算属性简述
Vue 的 计算属性(Computed Properties) 是 Vue 实例中一种特殊的属性,用于声明式地定义依赖其他数据动态计算得出的值。它的核心优势在于能够自动追踪依赖关系,并缓存计算结果,避免重复计算,提升性…...
365天之第P10周:Pytorch实现车牌识别
365天之第P10周:Pytorch实现车牌识别 Pytorch实现车牌识别 365天之第P10周:Pytorch实现车牌识别一、导入数据1.获取类别名2. 数据可视化3. 标签数字化4. 加载数据文件5. 划分数据 二、自建模型三、 训练模型1. 优化器与损失函数2. 模型训练 四、 结果分析…...
【Docker】-Docker Compose+Dockerfile最佳实践
最佳实践 在实际生产环境中,Docker Compose Dockerfile 的最佳实践通常包括以下几部分: 使用 Dockerfile 构建微服务镜像使用 docker-compose.yml 管理多个微服务使用 volumes 进行数据持久化使用 networks 进行服务间通信使用 depends_on 确保依赖服…...
TSB - AD 解读 — 迈向可靠、透明的 TSAD 任务
目录 一 文章动机 二 TSAD 领域内的两类缺陷 三 数据集的构建 四 实验结果及结论 项目宣传链接:TSB-AD 代码链接: TheDatumOrg/TSB-AD: TSB-AD: Towards A Reliable Time-Series Anomaly Detection Benchmark 原作者解读:NeurIPS 2…...
Linux 入门:权限的认识和学习
目录 一.shell命令以及运行原理 二.Linux权限的概念 1.Linux下两种用户 cannot open directory .: Permission denied 问题 2.Linux权限管理 1).是什么 2).为什么(权限角色目标权限属性) 3).文件访问者的分类(角色) 4).文…...
多任务学习与持续学习微调:深入探索大型语言模型的性能与适应性
引言 大型语言模型(LLMs)的出现极大地推动了自然语言处理领域的发展。为了使其在各种特定任务和动态环境中表现出色,微调技术至关重要。本节将深入探讨多任务学习(Multi-task Learning, MTL)和持续学习(Co…...
Cocos Creator Shader入门实战(四):预处理宏定义和Chunk
引擎: 3.8.5 您好,我是鹤九日! 回顾 学习Shader,前期是让人烦躁无味的,后期可能就是各种的逻辑让人抓耳挠腮。 一成不变的内容:遵循引擎设定的规则,理解引擎要求的规范。 这里,简单…...
[蓝桥杯 2023 省 B] 飞机降落
[蓝桥杯 2023 省 B] 飞机降落 题目描述 N N N 架飞机准备降落到某个只有一条跑道的机场。其中第 i i i 架飞机在 T i T_{i} Ti 时刻到达机场上空,到达时它的剩余油料还可以继续盘旋 D i D_{i} Di 个单位时间,即它最早可以于 T i T_{i} Ti 时刻…...
STAR Decomposition 一种针对极端事件的信号分解方法 论文精读加复现
STAR 分解🚀 在时序预测任务中,为了情绪化信号的各种成分,例如趋势信息季节信息等往往都需要对信号进行分解。目前熟知的分解方式有很多种,经验模态分解 EMD 变分模态分解 VMD ,还有 集合经验模态分解 EEMD,…...
matlab中如何集成使用python
在 MATLAB 中集成使用 Python 可以通过调用 Python 脚本或函数来实现。MATLAB 提供了 py 模块来直接调用 Python 代码。以下是一个简单的示例,展示如何在 MATLAB 中调用 Python 函数。 示例:在 MATLAB 中调用 Python 函数 1. 编写 Python 函数 首先&a…...
使用matlab求伴随矩阵
已知三阶方阵: 计算行列式det 计算逆矩阵inv 如何det不等于0,伴随矩阵 行列式det*逆矩阵inv >> A[1 0 0;1 1 -1;-2 0 3]A 1 0 01 1 -1-2 0 3>> det(A)ans 3>> >> A_invinv(A)A_inv 1.0000 …...
音视频处理的“瑞士军刀”与“积木”:FFmpeg 与 GStreamer 的深度揭秘
一、发展历史与生态演进对比 FFmpeg的成长轨迹 诞生背景:2000年由Fabrice Bellard创建,最初为解决视频编码标准化问题而生。早期版本仅支持MPEG-1编码,但凭借开源社区协作,迅速扩展为全格式编解码工具。技术扩张:2004年…...
Debezium日常分享系列之:Debezium 3.1.0.Beta1发布
Debezium日常分享系列之:Debezium 3.1.0.Beta1发布 新特性和改进Debezium 平台的首次发布Percona 的最小锁定新的 Oracle 源信息 SCN 和时间戳字段Vitess Epoch/零日期列解析的变化Vitess 二进制排序的 tiny、medium 和 long 文本列的变化CloudEvent traceparent 支…...
智能汽车图像及视频处理方案,支持视频智能剪辑能力
在智能科技日新月异的今天,汽车已不仅仅是代步工具,它们正逐步进化为集出行、娱乐、生活于一体的智能移动空间。在这场汽车行业的智能化变革中,美摄科技以其卓越的智能汽车图像及视频处理方案,引领了一场前所未有的视觉盛宴&#…...
《从零手写Linux Shell:详解进程控制、环境变量与内建命令实现 --- 持续更新》
承接上文Linux 进程的创建、终止、等待与程序替换保姆级讲解-CSDN博客,涉及所用到的代码,本文所绑定的资源就是上篇文章的主要代码。 完整代码在文章末尾 目录 1.实现编写代码输出一个命令行 a.如何获取自己的用户名,主机名,路径…...
postgresql 高版本pgsql备份在低版本pgsql中恢复失败,报错:“unsupported version”
关键字 PostgreSQL、pg_restore、版本兼容性、数据库迁移、pg_dump、备份恢复、unsupported version in file header 背景环境 系统配置 环境类型操作系统PostgreSQL版本内存工具链测试环境Windows 111616GBNavicat/PgAdmin生产环境Windows Server 2012 R2128GBPgAdmin/命令…...
裸机开发-GPIO外设
重新开始学ZYNQ开发,学完上linux系统 基础知识:ZYNQ 的三种GPIO :MIO、EMIO、AXI - FPGA/ASIC技术 - 电子发烧友网 GPIO是ZYNQ PS端的一个IO外设,用于观测(input)和控制(output)器…...
STM32——独立看门狗(IWDG)
IWDG 简介 独立看门狗本质上是一个 定时器 ,这个定时器有一个输出端,可以输出复位信号。该定时器是一个 12 位的递减计数器 ,当计数器的值减到 0 的时候,就会产生一个复位信号。如果 在计 数没减到 0 之前,重置计…...
使用STM32CubeMX+DMA+空闲中断实现串口接收和发送数据(STM32G070CBT6)
1.STM32CubeMX配置 (1)配置SYS (2)配置RCC (3)配置串口,此处我用的是串口4,其他串口也是一样的 (4)配置DMA,将串口4的TX和RX添加到DMA中 &#…...
连续出现的字符(信息学奥赛一本通-1148)
【题目描述】 给定一个字符串,在字符串中找到第一个连续出现至少k次的字符。 【输入】 第一行包含一个正整数k,表示至少需要连续出现的次数。1 ≤ k ≤ 1000。 第二行包含需要查找的字符串。字符串长度在1到2500之间,且不包含任何空白符。 【…...
matlab 正态分布
目录 一、概述1、参数2、概率密度函数3、累积分布函数二、代码案例1、拟合正态分布对象2、估计参数3、计算并绘制正态分布的概率密度函数4、绘制标准正态分布的正态累积分布函数5、比较 gamma 和正态分布的概率密度函数6、正态分布和对数正态分布之间的关系7、比较 Student t 和…...
C# MVC项目部署II后错误,403禁止访问:访问被拒绝问题处理
C# MVC项目部署II后错误,403禁止访问:访问被拒绝问题处理 问题如下: 解决办法: 1. 应用程序池要选v4.xx,托管模式选“集成” 2. 把asp.net 4.xx安装在iis上,方法: cd \Windows\Microsoft .NE…...
有趣的算法实践:整数反转与回文检测(Java实现)
题目描述:整数反转与回文检测 要求实现两个功能: 将输入的整数反转(保留符号,如输入-123返回-321)判断反转后的数是否为回文数(正反读相同) 示例: 输入:123 → 反转结…...
数学建模:MATLAB循环神经网络
一、简述 1.循环神经网络 循环神经网络(RNN)是一种用于处理序列数据的神经网络。不同于传统的前馈神经网络,RNN在隐藏层中加入了自反馈连接,使得网络能够对序列中的每个元素执行相同的操作,同时保持一个“记忆”状态…...
东隆科技携手PRIMES成立中国校准实验室,开启激光诊断高精度新时代
3月12日,上海慕尼黑光博会期间,东隆科技正式宣布与德国PRIMES共同成立“中国校准实验室”。这一重要合作标志着东隆科技在本地化服务领域的优势与PRIMES在激光光束诊断领域的顶尖技术深度融合,旨在为中国客户提供更快速、更高精度的服务以及本…...
【MySQL】B树和B+树的区别?MySQL为什么选用B+树作为索引数据结构?
B树和B树的区别: 结构方面: 1.节点存储内容: B树: 节点同时存储索引和数据。B树:只有叶子节点存储数据记录或指向数据记录的指针,非叶子节点只存键值,用于索引。 B 树的非叶子节点可以存储更…...