当前位置: 首页 > news >正文

【STM32】硬件资源及芯片介绍

以精英板STM32F103为例。STM32是Cortex M3架构,拥有更强劲的性能、更高的代码密度、位带操作、可嵌套中断、低成
本、低功耗等众多优势。

了解架构方面的知识可以查看以下文档:

  • 《STM32 参考手册》中文版 V10.0
  • 《Cortex-M3 权威指南》中文版(宋岩 译)

STM32 拥有非常多的寄存器,对于新手来说,直接操作寄存器有很大的难度,所以 ST 官方提供了一套固件库函数,方面开发者进行程序编写,库函数入门后,最好也对寄存器操作有所了解。

文章目录

    • 硬件资源介绍
    • STM32学习方法

硬件资源介绍

精英板STM32的硬件资源如下(尺寸115mm*117mm):

在这里插入图片描述

板载资源详细如下:
◆ CPU:STM32F103ZET6,LQFP144(CPU封装1.4mm厚),FLASH:512K(闪存,结合了ROM和RAM的长处),SRAM:64K(静态随机存取存储器);
◆ 外扩 SPI FLASH:W25Q128,16M 字节(存储经常读取的数据)
◆ 1 个电源指示灯(蓝色PWR)
◆ 2 个状态指示灯(DS0:红色,DS1:绿色)
◆ 1 个红外接收头,并配备一款小巧的红外遥控器
◆ 1 个 EEPROM 芯片,24C02,容量 256 字节
◆ 1 个光敏传感器
◆ 1 个无线模块接口(可接 NRF24L01/RFID 模块等)
◆ 1 路 CAN 接口,采用 TJA1050 芯片
◆ 1 路 485 接口,采用 SP3485 芯片
◆ 1 路数字温湿度传感器接口,支持 DS18B20 /DHT11 等
◆ 1 个 ATK 模块接口,支持 ALIENTEK 蓝牙/GPS 模块/MPU6050 模块等
◆ 1 个标准的 2.4/2.8/3.5/4.3/7 寸 LCD 接口,支持触摸屏
◆ 1 个摄像头模块接口
◆ 1 个 OLED 模块接口(与摄像头接口共用)
◆ 1 个 USB 串口,可用于程序下载和代码调试(USMART 调试)(USB_232)
◆ 1 个 USB SLAVE 接口,用于 USB 通信(USB_SLAVE)
◆ 1 个有源蜂鸣器
◆ 1 个 RS485 选择接口
◆ 1 个 CAN/USB 选择接口
◆ 1 个串口选择接口
◆ 1 个 SD 卡接口(在板子背面,SDIO 接口)
◆ 1 个标准的 JTAG/SWD 调试下载口(20针)
◆ 1 组 AD/DA 组合接口(DAC/ADC/ TPAD)
◆ 1 组 5V 电源供应/接入口
◆ 1 组 3.3V 电源供应/接入口
◆ 1 个直流电源输入接口(输入电压范围:6~24V)
◆ 1 个启动模式选择配置接口
◆ 1 个 RTC 后备电池座,并带电池
◆ 1 个复位按钮,可用于复位 MCU 和 LCD
◆ 3 个功能按钮,其中 KEY_UP 兼具唤醒功能
◆ 1 个电容触摸按键
◆ 1 个电源开关,控制整个板的电源
◆ 独创的一键下载功能
◆ 除晶振占用的 IO 口外,其余所有 IO 口全部引出

开发板的核心芯片(U1),型号为:STM32F103ZET6。该芯片具有 64KB SRAM、512KB FLASH、2 个基本定时器、4 个通用定时器、2 个高级定时器、2 个 DMA 控制器(共 12 个通道)、3 个 SPI、2 个 IIC、5 个串口、1 个 USB、1 个 CAN、3 个 12 位 ADC、1 个 12 位 DAC、1 个SDIO 接口、1 个 FSMC 接口以及 112 个通用 IO 口。

最好跟着原理图一个个都认识一遍:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

此外,在编写程序的时候,可以再对着引脚IO表再强化一遍认知。针对具体的功能,可以回过头再来详细查看模块的说明。

STM32学习方法

STM32 作为目前最热门的 ARM Cortex M3 处理器,正在被越来越多的公司选择使用。没有学过51的也可以直接上手STM32,万事开头难,可以先通过例程进行学习,找到自己点亮一个LED灯的乐趣,然后再熟悉外设模块,实时系统等。下面是几个学习STM32的要点:

  1. 选择一款合适的开发板作为软件载体;
  2. 两本参考资料,即《STM32 中文参考手册》和《Cortex-M3 权威指南》;
  3. 掌握方法,勤学慎思。

以上。

相关文章:

  • SpringMVC实现文件的上传和下载
  • Android 系统jni到hal层回调代码
  • 初入算法(2)—— 进入算法世界
  • 运行谷歌开源BERT程序时遇到的bug修改记录
  • 算法学习入门
  • 【SSM】spring核心思想——IOC和DI
  • 自由的程序员应该学会自由地控制空间-----动态内存管理
  • [架构之路-51]:架构师 - 用系统化、结构化思维解决复杂难搞的软件故障问题 - 马克思主义哲学在软件系统中的应用
  • 【面试题】JavaScript数组切片方法有哪些?
  • 【PyTorch深度学习项目实战100例】—— 基于CNN卷积神经网络实现中文手写汉字识别 | 第60例
  • HarmonyOS系统中内核实现UART串口通信方法
  • Selenium4.0+Python三种元素等待方式介绍 及 元素等待封装
  • django梳理
  • 嵌入式软件调试的发展历程
  • PT_连续型随机变量/分布函数/概率密度
  • ----------
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • 03Go 类型总结
  • Apache的80端口被占用以及访问时报错403
  • Docker下部署自己的LNMP工作环境
  • FineReport中如何实现自动滚屏效果
  • httpie使用详解
  • JavaScript/HTML5图表开发工具JavaScript Charts v3.19.6发布【附下载】
  • Java多态
  • jquery cookie
  • js
  • Nacos系列:Nacos的Java SDK使用
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • nfs客户端进程变D,延伸linux的lock
  • Traffic-Sign Detection and Classification in the Wild 论文笔记
  • 马上搞懂 GeoJSON
  • 如何在 Tornado 中实现 Middleware
  • 使用common-codec进行md5加密
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • #### go map 底层结构 ####
  • #图像处理
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (4) PIVOT 和 UPIVOT 的使用
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (待修改)PyG安装步骤
  • (二)换源+apt-get基础配置+搜狗拼音
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (六)Hibernate的二级缓存
  • (一)硬件制作--从零开始自制linux掌上电脑(F1C200S) <嵌入式项目>
  • (转)负载均衡,回话保持,cookie
  • *p=a是把a的值赋给p,p=a是把a的地址赋给p。
  • ./configure、make、make install 命令
  • .md即markdown文件的基本常用编写语法
  • .net core webapi Startup 注入ConfigurePrimaryHttpMessageHandler
  • .NET 应用启用与禁用自动生成绑定重定向 (bindingRedirect),解决不同版本 dll 的依赖问题
  • .NET 中的轻量级线程安全
  • .NET 中让 Task 支持带超时的异步等待
  • .net解析传过来的xml_DOM4J解析XML文件