STM32数据手册中那些重要内容

发布者:精品古钱斋最新更新时间:2021-02-02 来源: eefocus关键字:STM32  数据手册 手机看文章 扫描二维码
随时随地手机看文章

有许多初学的朋友,常在后台问一些关于数据手册中就有的知识,今天就在这里统一写出来了。


那部分朋友,你可能还不知道数据手册中有这些内容,今天分享出来,希望你们认真阅读一下数据手册。


1写在前面

我们编写STM32底层驱动代码的时候,会牵涉到一些与芯片引脚、电气特性相关的知识。这个时候,就需要查看芯片对应的官方手册。


一般《Reference manual参考手册》和《Datasheet数据手册》这两本手册是我们底层编程常用到。所以,推荐初学者一定要把这两本手册下载来对照学习。

当然,这里说的两本手册,是针对每一种型号STM32都应该具有的,但不同型号的STM32对应的手册可能不同,也有可能相同。


比如:STM32F103R8和STM32F103ZE的参考手册相同,但数据手册不同。


不过,STM32的这些手册,在排版或者说内容上,都极为相似。所以,下面以STM32F103ZE为例,引导大家学习其数据手册。


2数据手册概要

英文不好的朋友可以先下载中文版的数据手册来看看,好像STM32F1和F4都有翻译版(但版本比较老)。


这里为了照顾初学者,以STM32F103中文版为例来展开说明。


打开数据手册,你会看到芯片的许多重要,如下图:

图片


主页的内容,相信大家看英文版文档也能明白,以上是首页预览,可以抓住一些重要内容。


再次就是查看目录,目录可以大概知道文档讲述了一些什么内容。


最后,预览没文档里面详细内容,可以知道整个数据手册讲述了一下什么知识。


3重要知识点

本章节为大家罗列一些数据手册重要的知识点,也是许多初学者常问的内容。


3.1 芯片有多少个TIM、多少个UART?

这类问题,可以参看数据手册“Device overview”器件概述的章节(一般第2章节)。

如上图,可以得出,STM32F103大容量芯片有8个TIM定时器(4个通用、2个高级、2个基本),有5个UART串口。


3.2 芯片具体有哪几个定时器?及定时器位数?

有的人看见别人代码,使用的TIM7,而自己移植过来,编译错误,发现没有TIM7。因此,就问:我在怎么知道我芯片有哪些定时器呢?


这个一般在数据手册第2章,或第3章的“Overview概述”下面有具体的概述。


这个概述的地方会有更多的信息:

1.定时器位数:比如有些定时器为32位;

2.计数器类型:向上、向下等;

3.捕获通道数:有些定时器不支持捕获/比较,也就没有。

······


3.3 引脚可以映射到哪些地方?

有朋友看到其它人编程使用的UART串口1不是PA9和PA10,就产生了疑惑:我怎么知道这些UART串口可以使用哪些引脚呢?


这个问题答案在“Pinouts and pin descriptions引脚定义章节”。

图片


比如你想知道UART串口1可以使用哪些引脚,可以使用“USART1_TX”搜索一下,看有哪些引脚有“USART1_TX”这个功能,那么这个引脚就具有这个功能。


3.4 IO可以输入多高电压? 检测时多高电压才是高电平?

有的朋友可能会产生疑问,我STM32是3.3V供电,那么我输入IO的电压是不是最高就为3.3V了呢? 


之前有朋友问:我STM32做IO输入检测电平时,按理说应该为高电平。可能因为外部电路原因,发现不对,就用万用表测量,电压在1V左右。


他就问了这么一个问题,我输入电压多高才认为是高电平呢?


这个问题可以在数据手册Electrical characteristics电气特性下面找到答案。

图片


输入电压,可以看引脚定义章节,如果带有FT的,证明可以承受5.5V电压。


而被检测为高电平,最小需要2V电压。



好了,本文就写到这里。以上只是提供思路,可能你遇到的问题不止这些,需要学会合理利用手中资源。


关键字:STM32  数据手册 引用地址:STM32数据手册中那些重要内容

上一篇:关于STM32的四类嵌入式软件(库)
下一篇:写几点内容给学习STM32的朋友

推荐阅读最新更新时间:2024-11-13 09:00

STM32自学笔记GPIO寄存器
GPIO寄存器一览 以下图片全部摘自STM32中文参考手册 GPIOx- CRL(x=A…E) 这个寄存器主要是设置GPIO的低8位(0~7)端口的配置 MODE 用来设置端口输出的速度 (在输入模式下不需要配置,仅在输出模式下需要配置) CNF 用来设置输入模式或者输出模式 例如 设置PA0为推挽输出速度为50MHz GPIOA- CRL&=0XFFFFFFF0;//PA0配置清零 GPIOA- CRL|=0X00000003;//PA0输出 速度50MHz 设置PA0为上下拉输入(默认下拉) GPIOA- CRL&=0XFFFFFFF0;//PA0配置清零 GPIOA- CRL|=0X00000008
[单片机]
<font color='red'>STM32</font>自学笔记GPIO寄存器
stm32---usart1与电脑通信
usart.h #ifndef _USART_H_ #define _USART_H_ #include stm32f10x.h #include stdio.h //发送一个字节 void GPIO1_Configuration(void); void USART1_Configuration(unsigned long baund); int fputc(int ch, FILE *f); #endif usart.c #include usart.h #include string.h //重定义fputc(); //printf( hello world ); int fpu
[单片机]
STM32两个蓝牙互连进行收发通信
HC05是主从一体化蓝牙模块,可以通过将两个蓝牙配置成一主一从的方式, 主蓝牙开机后会自动去寻找从蓝牙设备,并自动连接。 两个蓝牙模块通信,首先要让两个蓝牙模块进入命令响应工作模式即AT模式(EN接上USB转TTL的VCC或者3.3V,上电,再长按蓝牙模块上的按键,红灯慢闪即表示进入了AT模式) 配置流程 主蓝牙: 1.设置配对码: AT+PINXXXX (XXXX为四位数字,并与从蓝牙的配对码保持一致) 2.设置蓝牙为主机: AT+ROLE=1 (0为从机,1为主机,2为回环角色) 3.设置蓝牙连接模式: AT+CMODE=0 (0是指定蓝牙地址连接模式,设置为0才能自动的连接绑定的地址) 4.设置蓝牙连接地址:
[单片机]
STM32关于printf重定向到串口
简单地说:想在mdk 中用printf,需要同时重定义fputc函数和避免使用semihosting(半主机模式), 标准库函数的默认输出设备是显示器,要实现在串口或LCD输出,必须重定义标准库函数里调用的与输出设备相关的函数. 例如:printf输出到串口,需要将fputc里面的输出指向串口(重定向),方法如下: #ifdef __GNUC__ #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) #else #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f) #endif PUTCHAR_PROTOTYPE { U
[单片机]
基于stm32/linux系统的can总线的电机与485的全方位机器人通讯
之前做的是仿pioneer3at的机器人,做过两个版本,第一版完全仿的,国内机械加工,很多厂不愿意加工这种小活,加工出来的精度不够,很多问题 第二版做出来的问题是带传动,当负载过大时,会产生跳齿等问题,自己画图生产,当时也没认真做效果只能说一般电机使用的是富兴公司的伺服电机 第三版由4个转向电机4个轮毂电机及4个编码器组成 在linux控制电机程序为:https://download.csdn.net/download/jankin_by/10342919 调试最后总出现编码器CRC校验错误,怀疑为linux下多串口通信的问题 改为用单片机直接控制 https://download.csdn.net/
[单片机]
基于<font color='red'>stm32</font>/linux系统的can总线的电机与485的全方位机器人通讯
详解STM32最小系统电路
STM32最小系统硬件组成 最小系统为单片机工作的最低要求,不含外设控制,原理简单,分析最小系统是STM32入门的基础。 组成: · 电源 · 复位 · 时钟 · 调试/下载接口 · 启动 电源 3.3V的电源从这里接入,其中电容起到滤波的作用。 复位电路 当RESET引脚被拉低产生外部复位时,产生复位脉冲,从而使系统复位。 有三种复位方式: · 上电复位 · 手动复位 · 程序自动复位 上电复位 ,在上电瞬间,电容充电,RESET出现短暂的低电平,该低电平持续时间由电阻和电容共同决定,需求的复位信号持续时间约在1ms左右,计算方式如下: t = 1.1RC(固定计算公式) 1.1*10K*0.1uF
[单片机]
(一)stm32之CMSIS标准、库目录、GPIO
一、CMSIS标准   ST公司的stm32采用的是cortex-m3内核,内核是整个微处理器的CPU。该内核是ARM公司设计的一种处理器体系架构。内核与外设的关系就像PC上的CPU与硬盘、主板、内存等的关系一样。 基于cortex系列的处理器内核都是一样的,区别在于除内核以外的外设的差异,由于这些差异,导致不同处理器移植起来比较麻烦,所以ARM与芯片厂商建立了CMSIS标准,CMSIS架构如下所示:   CMSIS标准中最主要的是CMSIS核心层;内核函数层中的内核函数寄存器以及地址主要由ARM公司提供;设备外设访问层核外外设和中断寄存器地址由芯片生产厂商定义。 二、库目录和文件简介 1、core_cm3.c文件   在Co
[单片机]
(一)<font color='red'>stm32</font>之CMSIS标准、库目录、GPIO
工程师STM32单片机学习基础手记(4):用PWM实现荧火虫灯(二)
用PWM生成正弦波   有了PWM,自然就可以用PWM的方法生成正弦波了。下面生成500Hz正弦波的方法参考自张明峰的《PIC单片机入门与实践》   每个正弦波分成四个像限,每个像限16点,共64点,每点出现2个PWM周期,故PWM的周期为:2ms/128=156.25us,频率为64KHz。   TIM3 Frequency = TIM3 counter clock/(ARR + 1)   倒过来:   ARR=TIM3 Counter Clock/TIM3 Frequenc - 1 =562.5-1 =561   如果取ARR的值是561的话,那么实际的频率是64.056KHz,即最终生成为的正弦波频率
[模拟电子]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
更多往期活动

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved