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

相关文章

Spring Retry 实现乐观锁重试实践记录

《SpringRetry实现乐观锁重试实践记录》本文介绍了在秒杀商品SKU表中使用乐观锁和MybatisPlus配置乐观锁的方法,并分析了测试环境和生产环境的隔离级别对乐观锁的影响,通过简单验证,... 目录一、场景分析 二、简单验证 2.1、可重复读 2.2、读已提交 三、最佳实践 3.1、配置重试模板

在 Spring Boot 中使用异步线程时的 HttpServletRequest 复用问题记录

《在SpringBoot中使用异步线程时的HttpServletRequest复用问题记录》文章讨论了在SpringBoot中使用异步线程时,由于HttpServletRequest复用导致... 目录一、问题描述:异步线程操作导致请求复用时 Cookie 解析失败1. 场景背景2. 问题根源二、问题详细分

关于Spring @Bean 相同加载顺序不同结果不同的问题记录

《关于Spring@Bean相同加载顺序不同结果不同的问题记录》本文主要探讨了在Spring5.1.3.RELEASE版本下,当有两个全注解类定义相同类型的Bean时,由于加载顺序不同,最终生成的... 目录问题说明测试输出1测试输出2@Bean注解的BeanDefiChina编程nition加入时机总结问题说明

将sqlserver数据迁移到mysql的详细步骤记录

《将sqlserver数据迁移到mysql的详细步骤记录》:本文主要介绍将SQLServer数据迁移到MySQL的步骤,包括导出数据、转换数据格式和导入数据,通过示例和工具说明,帮助大家顺利完成... 目录前言一、导出SQL Server 数据二、转换数据格式为mysql兼容格式三、导入数据到MySQL数据

关于rpc长连接与短连接的思考记录

《关于rpc长连接与短连接的思考记录》文章总结了RPC项目中长连接和短连接的处理方式,包括RPC和HTTP的长连接与短连接的区别、TCP的保活机制、客户端与服务器的连接模式及其利弊分析,文章强调了在实... 目录rpc项目中的长连接与短连接的思考什么是rpc项目中的长连接和短连接与tcp和http的长连接短

Oracle查询优化之高效实现仅查询前10条记录的方法与实践

《Oracle查询优化之高效实现仅查询前10条记录的方法与实践》:本文主要介绍Oracle查询优化之高效实现仅查询前10条记录的相关资料,包括使用ROWNUM、ROW_NUMBER()函数、FET... 目录1. 使用 ROWNUM 查询2. 使用 ROW_NUMBER() 函数3. 使用 FETCH FI

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

Python MySQL如何通过Binlog获取变更记录恢复数据

《PythonMySQL如何通过Binlog获取变更记录恢复数据》本文介绍了如何使用Python和pymysqlreplication库通过MySQL的二进制日志(Binlog)获取数据库的变更记录... 目录python mysql通过Binlog获取变更记录恢复数据1.安装pymysqlreplicat

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

Servlet中配置和使用过滤器的步骤记录

《Servlet中配置和使用过滤器的步骤记录》:本文主要介绍在Servlet中配置和使用过滤器的方法,包括创建过滤器类、配置过滤器以及在Web应用中使用过滤器等步骤,文中通过代码介绍的非常详细,需... 目录创建过滤器类配置过滤器使用过滤器总结在Servlet中配置和使用过滤器主要包括创建过滤器类、配置过滤