STM32入门_江协科技_1~2_OB记录的自学笔记_STM32简介

1.综述

  • 1.1. 课程简介
    手打代码是加入了实操,增加学习效果;
    STM最小系统板+面包板的硬件平台;
    配套0.96寸的显示屏,便于调试;
    因为使用面板板,所以如果程序现象不出来也有可能是硬件连接的问题;
    在这里插入图片描述

  • 1.2. 硬件设备:
    •STM32面包板入门套件
    •Windows电脑
    •万用表(检查接线)、示波器(虚拟和台式示波器都可以)、镊子、剪刀等

  • 1.3. 编程软件
    Keil 5 MDK (ARM)
    参考资料链接: https://jiangxiekeji.com/download.html#32
    安装参考: https://wenku.csdn.net/answer/5gyk1qirke

  • 1.4. STM32套件的介绍
    面包板
    STM32最小开发板
    0.96寸OLED(4引脚版本)
    电位器,薄膜按键
    ST-LINK程序下载用并供电
    串口模块
    有源蜂鸣器模块
    光敏电阻模块
    热敏电阻模块
    对射式红外模块
    反射式红外模块
    W25Q64 FLASH存储模块 SPI总线通讯
    MPU6050 陀螺仪加速度计 I2C总线通讯
    旋转编码器
    直流电机 电机驱动模块
    舵机 PWM控制
    在这里插入图片描述

2. STM32简介

2.1. STM32简介
•STM32是ST公司基于ARM Cortex-M内核开发的32位微控制器
•STM32常应用在嵌入式领域,如智能车、无人机、机器人、无线通信、物联网、工业控制、娱乐电子产品等
•STM32功能强大、性能优异、片上资源丰富、功耗低,是一款经典的嵌入式微控制器

高性能系列:F2,F4,F7
主流性能系列:F0,F1,F3(教程用STM32F1)
超低功耗系列:
无线系列:

在这里插入图片描述

  • 2.2. ARM介绍:
    •ARM既指ARM公司,也指ARM处理器内核
    •ARM公司是全球领先的半导体知识产权(IP)提供商,全世界超过95%的智能手机和平板电脑都采用ARM架构,ARM提供设计,授权,不生产芯片;
    •ARM公司设计ARM内核,半导体厂商完善内核周边电路并生产芯片
    下图A系列用于高端产品领域(例如手机)(苹果M1芯片将ARM推入电脑领域)
    M系列用于嵌入式领域较多
    在这里插入图片描述

  • 2.3. 本套课程使用的STM32F103C8T6
    •系列:主流系列STM32F1
    •内核:ARM Cortex-M3
    •主频:72MHz
    •RAM:20K(SRAM)
    •ROM:64K(Flash)
    •供电:2.0~3.6V(标准3.3V)(对比51单片机是5V供电)
    •封装:LQFP48(48针引脚)
    在这里插入图片描述

  • 2.4. STM32F103C8T6的片上资源(片上资源/外设)
    先了解后续再仔细学习;
    下表是STM32系列的所有外设,具体到STM32F103C8T6芯片后4个外设(DAC~USB OTG)是没有的,具体需要参考芯片手册

英文缩写名称英文缩写名称
NVIC嵌套向量中断控制器(内核内外设)CANCAN通信
SysTick系统滴答定时器(内核内外设)USBUSB通信
RCC复位和时钟控制RTC实时时钟
GPIO通用IO口CRCCRC校验
AFIO复用IO口PWR电源控制
EXTI外部中断BKP备份寄存器
TIM定时器IWDG独立看门狗
ADC模数转换器WWDG窗口看门狗
DMA直接内存访问DAC数模转换器
USART同步/异步串口通信SDIOSD卡接口
I2CI2C通信FSMC可变静态存储控制器
SPISPI通信USB OTGUSB主机接口

在这里插入图片描述

  • 2.5. 命名规则
    在这里插入图片描述

  • 2.6. 系统结构

  • DMA数据搬运辅助,节省CPU的时间
    在这里插入图片描述

  • 2.7. 引脚定义(非常重要)

    • 橘红色标记为电源相关引脚,S电源,I输入,O输出,FT容忍5V电压
    • 蓝色标记为最小系统相关引脚
    • 绿色为IO口相关引脚
    • 1-VBAT备用电源3V
    • 2-侵入报警
    • 3,4-接晶振
    • 5,6-接主晶振8MHz
    • 7-复位N代表低电平复位
    • 8,9-内部模拟部分的电源,VSS接GND或负极,VDD接正极
    • 10~19为IO口
    • 20-IO/BOOT,用于配置启动模式
    • 21,22-也都是IO口
    • 23-VSS主电源负极
    • 24-VDD主电源正极
    • 35-VSS主电源负极
    • 36-VDD主电源正极
    • 47-VSS主电源负极
    • 48-VDD主电源正极
    • 以上电源采用分区供电方式
    • 34~40-IO或调试端口(默认调试功能为主功能)
    • 教程用的ST-LINK方式,只占用PA13(24),PA14(37)两个口, 否则需要(34,37,38,39,40这5个口用于SWD调试)
    • 44-BOOT0与BOOT1一样用于启动配置

在这里插入图片描述

  • 2.8. STM32 启动配置
    • BOOT0接0(接地)最常用
    • BOOT1接地(0),BOOT0接电源(1),BOOT LOADER启动模式,串口下载程序
    • BOOT1接电源(1),BOOT0接电源(1),主要用于程序调试,本套教程不涉及
    • 表下注释的意思,机器复位或上电一瞬间,BOOT1引脚值锁存,之后恢复PB2的IO口模式。
    • 至此,如果需要芯片正常工作,需要将电源与表格中蓝色的最小系统的部分连接好;

在这里插入图片描述

  • 2.9. 最小系统电路
  • 3.3V与GND之间的电源加的电容为滤波电容,用以保持电源稳定;
  • VBAT备用电源接的时候需要注意,正极接VBAT,负极接地;悬空也可以;
  • 晶振接8MHz,内部锁相环倍频后为72MHz,20pf的电容为起振电容;接5,6口
  • 如果需要RTC功能,还需要接一个32.768KHz的晶振,电路同晶振电路,接3,4口,因为32768为2的15次方,内部电路分频后直接可以得到1s的时钟信号。
  • 复位接NRST为低电平复位,按下K1信号接地复位,松开K1,C3充电,电阻R1上拉NRST信号
  • 启动配置是通过最小开发板上面的跳线帽来实现的;
  • 以下都包含在最小系统板上面了,最小系统板的原理图可在资料中找到《模块资料.zip》核心板原理图中

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/4687.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux 小技巧1

目录 一. 统计文件的总行数二. 获取从第二行开始的内容三. 合并两个文件为一个文件四. 统计指定列唯一值的数量五. 列出文件的绝对路径六. 获取除了空白行和注释之外的部分 一. 统计文件的总行数 ⏹非压缩文件 统计当前文件夹下csv文件的行数 wc -l ./*.csv统计指定文件夹下…

甘特图是什么?利用甘特图来优化项目管理流程

在现代项目管理中,图表是一种强大而直观的工具,可以帮助项目经理和团队成员清晰地了解并掌控整个项目进程。其中,甘特图是最常用和最有效的图表之一。 甘特图是一种条形图,可以用来直观地展示项目中各个任务的进度、持续时间和相互关系。它由一个横轴和一个纵轴组成。横轴代表时…

基于单片机的多功能电子万年历系统

摘要:该题目要求学生综合运用单片机原理、低频电子线路、数字电路与逻辑设计等相关知识,设计完成多功能电子万年历系统。通过完成设计任务,使学生掌握单片机设计开发的基本流程,增强学生动手实践能力,培养学生分析和解决实际问题的能力,为后续课程的学习和工作打下良好基础。 关…

【c++】----STL简介string

目录 1. 什么是STL 2. STL的版本 3. STL的六大组件 4.STL的缺陷 5.string类 1. 为什么学习string类? 6.string类的常用接口说明(下面我们只讲解最常用的接口) 1.string 常见构造 2.string类的遍历 iterator 迭代器遍历 (…

初识BootStrap

目录 前言: 1.Bootstrap的特点包括: 1.1响应式设计: 1.2组件丰富: 1.3易于定制: 1.4兼容性良好: 1.5强大的社区支持: 1.6一致的样式和布局: 1.7 插件和扩展性 2.初识Ajax: 2.1同步请求…

STM32应用开发教程进阶--Wi-Fi通信(ESP8266模块:STA、AP、STA+AP)

实现目标 1、熟悉Wi-F、ESP8266模块 2、掌握ESP8266模块共3种工作模式:STA、AP、STAAP的配置 3、具体实现目标:(1)AT固件烧录;(2)ESP8266模块STA、AP、STAAP的配置 一、Wi-Fi概述 1、Wi-Fi定…

【kettle006】kettle访问华为openGauss高斯数据库并处理数据至execl文件

1.一直以来想写下基于kettle的系列文章,作为较火的数据ETL工具,也是日常项目开发中常用的一款工具,最近刚好挤时间梳理、总结下这块儿的知识体系。 2.熟悉、梳理、总结下华为openGauss高斯数据库相关知识体系 3.欢迎批评指正,跪谢…

【实时数仓架构】方法论(未完)

笔者不是专业的实时数仓架构,这是笔者从其他人经验和网上资料整理而来,仅供参考。写此文章意义,加深对实时数仓理解。 实时数仓背景和场景 一、实时数仓架构技术演进 1.1、四种架构演进 1)离线大数据架构 一种批处理离线数据分…

电脑开机后卡在开机LOGO画面如何排查处理

当电脑开机后长时间停滞在开机LOGO画面,无法继续进入操作系统,这一现象常令用户困扰不已。本文将深入探讨导致此类问题的多种可能原因,并提供相应的解决方法,帮助你有效地诊断和排除故障。 硬件故障或接触不良 1. 硬盘问题:硬盘是系统启动的关键组件,其故障或数据线接触…

Django项目之电商购物商城 -- 校验用户输入密码是否合法

Django项目之电商购物商城 – 校验用户输入密码是否合法 需要开发文档和前端资料的可私聊 一. 创建用户逻辑操作 1. 创建用户app – users python manage.py startapp users2.注册app users.apps.UsersConfig,3. 创建视图 from django.shortcuts import render from djan…

原生IP和住宅IP有什么区别?

原生IP和住宅IP在多个方面存在显著的区别。 从定义和来源来看,原生IP是指未经NAT(网络地址转换)处理的真实、公网可路由的IP地址,它直接从互联网服务提供商(ISP)获得,而不是通过代理服务器或VP…

Django初步了解

目录 一、什么是Django 二、Django的设计模式 三、涉及的英文缩写及其含义 四、安装(官方教程) 一、什么是Django Django是一个Python Web框架,可以快速开发网站,提供一站式的解决方案,包括缓存、数据库ORM、后台…

大象机器人开源协作机械臂myCobot 630 全面升级!

1. 开篇概述 在快速发展的机器人技术领域中,Elephant Robotics的myCobot 600已经证明了其在教育、科研和轻工业领域的显著适用性。作为一款具备六自由度的机械臂,myCobot 600以其600mm的工作半径和2kg的末端负载能力,满足了多样化的操作需求。…

中间件解析漏洞

1 、 apache 解析漏洞 漏洞环境搭建 下载 vulhub git clone https://github.com/vulhub/vulhub.git 进入对应漏洞目录、 cd vulhub/httpd/apache_parsing_vulnerability apt-get docker-compose 启动漏洞环境 docker-compose up -d 注:启动容器时&#xf…

用数据检验函数正确性,matlab2C

数据存取格式 filename1 g.txt; fid1 fopen(filename1,w); for i 1 : length(g)for j1:size(g,2)if(j1)fprintf(fid1,{%.16f,,g(i,j)); elseif(j>1&&j<151)fprintf(fid1,%.16f,,g(i,j)); elsefprintf(fid1,%.16f},\n,g(i,j));endend%fprintf(fid1,\n…

ZooKeeper 环境搭建详细教程之三(真集群)

ZooKeeper 搭建详细步骤之三(真集群) ZooKeeper 搭建详细步骤之二(伪集群模式) ZooKeeper 搭建详细步骤之一(单机模式) ZooKeeper 及相关概念简介 真集群搭建 搭建 ZooKeeper 真集群涉及多个步骤,包括准备环境、配置文件设置、启动服务以及验证集群状态。 以下是一个简…

在java项目中使用QQ邮箱发送验证码邮件

第一步&#xff1a;集成邮箱服务 在一个java项目中需要一个邮件服务来发送邮件可以使用JavaMail API来实现这一点&#xff0c;在这之前需要在项目中导入javax.mail.jar写入依赖。 方法一&#xff1a;直接在Maven中写入依赖 <dependency><groupId>org.apache.commo…

李沐64_注意力机制——自学笔记

注意力机制 1.卷积、全连接和池化层都只考虑不随意线索 2.注意力机制则显示的考虑随意线索 &#xff08;1&#xff09;随意线索倍称之为查询(query) &#xff08;2&#xff09;每个输入是一个值value&#xff0c;和不随意线索key的对 &#xff08;3&#xff09;通过注意力池…

【Unity动画系统】详解Root Motion动画在Unity中的应用(二)

Root Motion遇到Blend Tree 如果Root Motion动画片段的速度是1.8&#xff0c;那么阈值就要设置为1.8&#xff0c;那么在代码中的参数就可以直接反映出Root Motion的最终移动速度。 Compute Thresholds&#xff1a;根据Root Motion中某些数值自动计算这里的阈值。 Velocity X/…

Meilisearch 快速入门(Windows 环境) 搜索引擎 语义搜索

Meilisearch 快速入门(Windows 环境)# 简介# Meilisearch 是一个基于 rust 开发的,快速的、完全开源的轻量级搜索引擎。它的数据存储基于磁盘与内存映射,不受 RAM 限制。在一定数量级下,搜索速度不逊于 Elasticsearch。 下载# 官方服务端包下载地址:github.com/meili…