有很多初学者常常在后台询问一些数据手册中已经有的知识,今天我就在这里统一写出来。
对于那些可能还不知道数据手册中包含了这些内容的朋友,我在这里分享一下,希望你们能认真阅读一下数据手册。
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电压。
好了,本文就写到这里。以上只是提供思路****,可能你遇到的问题不止这些,需要学会合理利用手中资源。以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !