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

2024-04-29 07:28

本文主要是介绍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》核心板原理图中

在这里插入图片描述

这篇关于STM32入门_江协科技_1~2_OB记录的自学笔记_STM32简介的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/945459

相关文章

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

统一返回JsonResult踩坑的记录

《统一返回JsonResult踩坑的记录》:本文主要介绍统一返回JsonResult踩坑的记录,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录统一返回jsonResult踩坑定义了一个统一返回类在使用时,JsonResult没有get/set方法时响应总结统一返回

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

java对接海康摄像头的完整步骤记录

《java对接海康摄像头的完整步骤记录》在Java中调用海康威视摄像头通常需要使用海康威视提供的SDK,下面这篇文章主要给大家介绍了关于java对接海康摄像头的完整步骤,文中通过代码介绍的非常详细,需... 目录一、开发环境准备二、实现Java调用设备接口(一)加载动态链接库(二)结构体、接口重定义1.类型

Python中OpenCV与Matplotlib的图像操作入门指南

《Python中OpenCV与Matplotlib的图像操作入门指南》:本文主要介绍Python中OpenCV与Matplotlib的图像操作指南,本文通过实例代码给大家介绍的非常详细,对大家的学... 目录一、环境准备二、图像的基本操作1. 图像读取、显示与保存 使用OpenCV操作2. 像素级操作3.

apache的commons-pool2原理与使用实践记录

《apache的commons-pool2原理与使用实践记录》ApacheCommonsPool2是一个高效的对象池化框架,通过复用昂贵资源(如数据库连接、线程、网络连接)优化系统性能,这篇文章主... 目录一、核心原理与组件二、使用步骤详解(以数据库连接池为例)三、高级配置与优化四、典型应用场景五、注意事

SpringBoot实现文件记录日志及日志文件自动归档和压缩

《SpringBoot实现文件记录日志及日志文件自动归档和压缩》Logback是Java日志框架,通过Logger收集日志并经Appender输出至控制台、文件等,SpringBoot配置logbac... 目录1、什么是Logback2、SpringBoot实现文件记录日志,日志文件自动归档和压缩2.1、

qtcreater配置opencv遇到的坑及实践记录

《qtcreater配置opencv遇到的坑及实践记录》我配置opencv不管是按照网上的教程还是deepseek发现都有些问题,下面是我的配置方法以及实践成功的心得,感兴趣的朋友跟随小编一起看看吧... 目录电脑环境下载环境变量配置qmake加入外部库测试配置我配置opencv不管是按照网上的教程还是de

使用nohup和--remove-source-files在后台运行rsync并记录日志方式

《使用nohup和--remove-source-files在后台运行rsync并记录日志方式》:本文主要介绍使用nohup和--remove-source-files在后台运行rsync并记录日... 目录一、什么是 --remove-source-files?二、示例命令三、命令详解1. nohup2.

rust 中的 EBNF简介举例

《rust中的EBNF简介举例》:本文主要介绍rust中的EBNF简介举例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 什么是 EBNF?2. 核心概念3. EBNF 语法符号详解4. 如何阅读 EBNF 规则5. 示例示例 1:简单的电子邮件地址