首页 > 其他分享 >STM32简介及学习方向

STM32简介及学习方向

时间:2024-08-02 14:52:56浏览次数:21  
标签:学习 芯片 简介 总线 STM32 3.4 内核 外设

目录

1.STM32简介

2.STM32 与 ARM 的关系

3.STM32F103C8T6 介绍

3.1 STM分类

3.2 STM命名规则

3.3 项目开发介绍

3.4 STM32F103C8T6芯片

3.4.1 芯片外观

3.4.2  引脚图

 3.4.3 引脚对应功能表

 3.4.4 STM32F103系列芯片的系统架构

 3.4.5 STM32F103系列芯片总线矩阵(不含互联型)

 3.4.6 在小容量、中容量和大容量产品中,主系统构成

(1)四个驱动单元

(2)四个被动单元

(3)多级的AHB总线构架

4.STM32的作用

4.1 通信接口

4.2 STM32可开发电子产品

5.STM32学习建议

5.1 理解基本外设

5.2 了解基本外设接口原理

5.3 高级功能应用

5.4 C语言编程能力要加强


1.STM32简介

ST:意法半导体,公司名称 M:Microelectronics 的缩写,表示微控制器(注意微控制器和微处理器) 微控制器:CPU+片内内存+片内外设 微处理器:CPU 32:32bit ,表示32bit 的微控制器

2.STM32 与 ARM 的关系

ARM:英国芯片设计公司 最成功的产品为32 位嵌入式 CPU 核--ARM 系列,最常用的是ARM7 和 ARM9 ARM 公司主要提供 IP(IntellectualProperty core 知识产权的核心)核,就是 CPU 的内核结构,只包括核心部分,并非完整的处理器。 ARM 把这个核卖给各大半导体公司,包括Philips,三星,ATMEL, 甚至 Intel 等许多公司。 ARM 为了 8 位机市场,推出了一系列 Cortex-M 核, STM32 就是将 Cortex-M 作为内核,通过一些外设等组合封装在一起组成 32 位嵌入式处理器。 STM32 基于 ARM Cortex 内核的 32 位 MCU 和 MPU 产品系列图如下:

3581f584a68d4f6493c329398ea9dfd5.png

3.STM32F103C8T6 介绍

3.1 STM分类

b0aa5aa6b0254c48bb8fd3b0fd3614fa.png

3.2 STM命名规则

b2716eb922e94626a794957c750577a8.png

3.3 项目开发介绍

在项目学习中,可以选择F1和F4,F1代表基础型(M3内核,主频为72M)F4代表高性能(M4内核,主频为180M) 对于F1、F4(429系列以上)除了内核不同和主频增大外,升级的明显特色就是带了LCD控制器和 摄像头接口以及支持SDRAM等,在实际项目开发中会根据需求进行选择

3.4 STM32F103C8T6芯片

3.4.1 芯片外观

ee20a27df99c4381b506a462225df0ec.png

3.4.2  引脚图

03f8c5196ae74ab5b12b11a15435e30e.png

可以从ST官网查看内部资源 https://www.stmcu.com.cn/

 3.4.3 引脚对应功能表

STM32103C8T6手册 https://pan.baidu.com/s/1QW5qer_xGiMZMolMGR7fow?pwd=7gnz 

STM32中文参考手册 https://pan.baidu.com/s/1GDaMNNC3eKiT6KTV-NDs0w?pwd=je2x 

97c7b1b596674388a5e0aa4713b03425.png

230eb0fc83ba4b58b916e985317ec001.png

686ce1d127ad40328fca80dc712cf51a.png

d5adde58d43d4e0490bd8e43212c4384.png

48bf62a43f794ee186f2a1810b0c48b0.png

8a2dd81be59d49bfa2a632283893cacd.png

 3.4.4 STM32F103系列芯片的系统架构

9859bc938c98479b99887e6dfb9c4c59.png

 3.4.5 STM32F103系列芯片总线矩阵(不含互联型)

48a3cd3c3cb84880ac1c4ac4fc2488c5.png

 3.4.6 在小容量、中容量和大容量产品中,主系统构成

(1)四个驱动单元

Cortex-M3 内核 DCode 总线( D-bus ),和系统总线( S-bus )、通用 DMA1 和通用 DMA2

(2)四个被动单元

内部 SRAM 、内部闪存存储器、FSMC 、AHB 到 APB 的桥( AHB2APBx )(连接所有的 APB 设 备)

(3)多级的AHB总线构架

ICode总线:将 Cortex-M3 内核的指令总线与闪存指令接口相连接,指令预取在此总线上完成 DCode总线:将 Cortex-M3 内核的 DCode 总线与闪存存储器的数据接口相连接(常量加载和调试访问) 系统总线:连接 Cortex-M3 内核的系统总线(外设总线)到总线矩阵,总线矩阵协调内核和 DMA间的访问 DMA总线:将 DMA 的 AHB 主控接口与总线矩阵相联,总线矩阵协调 CPU 的 DCode 和 DMA 到SRAM 、闪存和外设的访问 总线矩阵:总线矩阵协调内核系统总线和 DMA 主控总线之间的访问仲裁,仲裁利用轮换算法 互联型产品中,总线矩阵包含5个驱动部件(CPU的DCode、系统总线、以太网DMA、DMA1总线 和DMA2总线)和3个从部件(闪存存储器接口(FLITF)、SRAM和AHB2APB桥) 其它产品中总线矩阵包含4个驱动部件(CPU的DCode、系统总线、DMA1总线和DMA2总线)和4个被动部件(闪存存储器接口(FLITF)、SRAM、FSMC和AHB2APB桥) AHB外设通过总线矩阵与系统总线相连,允许DMA访问

AHB/APB桥(APB):两个AHB/APB桥在AHB和2个APB总线间提供同步连接

APB1操作速度限于36MHz,APB2操作于全速(最高72MHz)

有关连接到每个桥的不同外设的地址映射可以参考《STM32F1xx中文参考手册》存储器映像章节。

STM32中文参考手册 https://pan.baidu.com/s/1GDaMNNC3eKiT6KTV-NDs0w?pwd=je2x 

在每一次复位以后,所有除SRAM和FLITF以外的外设都被关闭,在使用一个外设之前,必须设置

寄存器RCC_AHBENR来打开该外设的时钟

由于STM32F1的时钟系统比较复杂,在后面的实验中会单独介绍

4.STM32的作用

4.1 通信接口

STM32的应用取决于其内部资源,STM32内部拥有非常多的通信接口。当使用的模块拥

有此接口就可以进行通信,部分模块与接口联系如下: USART:ESP8266WIFI模块、GSM模块、蓝牙模块、GPS模块、指纹识别模块、IOT模块、串口屏等 IIC:EEPROM、MPU6050陀螺仪、0.96寸OLED屏、电容屏等 SPI:串行FLASH、以太网W5500、VS1003/1053音频模块、SPI接口的OLED屏、电阻屏等 AD/DA:光敏传感器模块、烟雾传感器模块、可燃气体传感器模块、简易示波器等 其他的接口这里就不罗列,总之,STM32能做的东西非常多

4.2 STM32可开发电子产品

智能手环,微型四轴飞行器,平衡车、扫地机、移动POST机,智能电饭锅,3D打印机、机器人、 移动支付端扫描仪、智能家居控制系统等

10170eef358e4b838be5595ffcf88715.png

f3fd9d4899d747a2be44a817b595eb5b.png

总之,学好 STM32 对就业加薪都很有帮助,在众多 STM32 芯片中,M3 内核的STM32F103芯片是开始学习的首选

5.STM32学习建议

5.1 理解基本外设

GPIO输入输出,外部中断,定时器,串口。理解了这四个外设,基本就入门了一款MCU

5.2 了解基本外设接口原理

SPI,IIC,WDG,FSMC,ADC/DAC,SDIO等。这些外设接口功能原理对每个芯片几乎都是一样。对芯片而言无非就是多和少而已

5.3 高级功能应用

掌握RTOS,LWIP,FATFS,EMWIN,USB等以及一些应用

5.4 C语言编程能力要加强

C语言是嵌入式开发的基础中的基础,如果C语言不过关,将大大限制嵌入式学习进度,以及嵌入式学习深度。嵌入式高手基本都是C语言高手 刚入门的同学可以先在菜鸟教程  https://www.runoob.com/cprogramming/c-tutorial.html 中进行学习,掌握C语言的总体学习方向,接着再进一步深入学习

请一定要记住:编程能力是练出来的,不是看出来的。很多初学者在看视频时,程序的编写都能看懂,等到脱离视频自己动手编写时发现无从下手,而且编写的一些语句有错误,比如字母大小写,关键字写错等问题

总之,遇到问题多上网查找,可以百度或浏览各大论坛

标签:学习,芯片,简介,总线,STM32,3.4,内核,外设
From: https://blog.csdn.net/m0_73510429/article/details/140803195

相关文章

  • SpringBoot入门、进阶、强化、扩展、知识体系完善等知识点学习、性能优化、源码分析专
    场景作为一名Java开发者,SpringBoot已经成为日常开发所必须。势必经历过从入门到自学、从基础到进阶、从学习到强化的过程。当经历过几年企业级开发的磨炼,再回头看之前的开发过程、成长阶段发现确实是走了好多的弯路。作为一名终身学习的信奉者,秉承Java体系需持续学习、持续优......
  • Python基础学习笔记(一)
    文章目录一、下载Python二、变量三、数据类型四、运算符五、语句六、容器类型七、函数function八、常用API九、面向对象类的创建:创建对象:实例成员:实例方法:类成员:静态方法:十、三大特征:封装、继承、多态十一、六大原则:Python基础学习笔记(二)一、下载Python官网:https......
  • 吴恩达深度学习deeplearning.ai学习笔记(一)3.9 3.10 3.11
    3.9神经网络的梯度下降法对于单隐层神经网络而言,主要参数就是,并且输入特征的维度可以记为,第一层有个隐藏单元,第二层有个输出单元,目前仅仅见过只有一个输出单元的情况;的维度是,的维度是,的维度是,的维度是,成本函数为:训练神经网络时,随机初始化参数很重要,而不是全令其为0;每个梯......
  • 吴恩达深度学习deeplearning.ai学习笔记(一)1.2 1.3 1.4
     1.2什么是神经网络? 表示输入特征1.3用神经网络进行监督学习输入一幅图,即Input(x)isaimage;输出一个指数如1~1000,即Output(y)isaobject(1,2,……,1000),来表明这张照片是否是1000个不同图像中的一个,可用于给照片打标签。只有选择好输入x和输出y,才能解决特定的问......
  • 吴恩达深度学习deeplearning.ai学习笔记(一)2.1 2.2 2.3 2.4
    2.1逻辑分类/二元分类 logisticregression经典问题:假如你有一张图片作为输入,你想输出能识别此图的标签,也就是:如果是猫,输出1;如果不是猫,输出0。这是老吴最喜欢的猫检测器;我们用y来表示输出的结果标签;一张图片在计算机中是如何表示的?计算机保存一张图片,要保存三个独立矩阵,分......
  • Java入门、进阶、强化、扩展、知识体系完善等知识点学习、性能优化、源码分析专栏分享
    场景作为一名Java开发者,势必经历过从入门到自学、从基础到进阶、从学习到强化的过程。当经历过几年企业级开发的磨炼,再回头看之前的开发过程、成长阶段发现确实是走了好多的弯路。作为一名终身学习的信奉者,秉承Java体系需持续学习、持续优化的信念。不惜耗费无数个日日夜夜,耗......
  • Linux操作系统基础学习笔记(3)
    Linux操作系统基础学习笔记(3)前言3、Linux命令(1)manls可查看命令说明,相当于帮助文档(2)关机重启(root)(3)快捷键和常用命令(4)别名的配置(5)通配符(6)系统环境变量(7)符号下期前言本篇内容主要为Linux基本命令主要包括:查看命令说明的man指令关机重启的root一些快捷键,如......
  • 基于Java的数据结构课程网站的设计与实现/线上学习系统/在线教学管理系统/Web、SSM、v
    需要源码的联系方式请查看文章末尾数据结构课程网站的设计与实现摘 要计算机网络与信息化管理相配合,可以有效地提高管理人员的工作效能和改进工作的质量。良好的数据结构课程网站可以使管理员工作得到更好的实施和应用,并有助于管理员更好地管理数据结构课程,解决人力管理......
  • redis-学习笔记一
    redis的常见数据类型及其使用场景常见的数据类型有五种:String字符串、List列表、Hash哈希、Set集合、Zset有序集合String字符串字符串是Redis中最基本的数据结构,可以存储任意类型的数据,包括文字、数字(整型、浮点等)等.它具有高效的读写操作和丰富的字符串处理函数,使用......
  • 微服务学习
     找不到依赖项'com.aliyun:aliyun-java-vod-upload:1.4.11'下载地址找到后报个错我是真服了PSD:\apache-maven-3.6.3\bin>mvninstall:install-file-DgroupId=com.aliyun-DartifactId=aliyun-java-vod-upload-Dversion=1.4.11-Dpackaging=jar-Dfile=D:\apache-m......