嵌入式开发,数据手册为啥是重要的文档?

描述

做嵌入式开发,特别是底层驱动相关的开发,不管是软件还是硬件工程师,能熟练阅读数据手册是必备的一个技能。  

概述

比如:我们写STM32底层驱动代码,或者画板子的时候,会牵涉到一些与芯片引脚、电气特性相关的内容。这个时候,就需要查看芯片对应的官方手册。   一般《Reference manual参考手册》和《Datasheet数据手册》这两本手册是我们底层编程常用到。所以,推荐初学者一定要把这两本手册下载来对照学习。
  当然,这里说的两本手册,是针对每一种型号STM32都应该具有的,但不同型号的STM32对应的手册可能不同,也有可能相同。   比如:STM32F103R8和STM32F103ZE的参考手册相同,但数据手册不同。   不过,STM32的这些手册,在排版或者说内容上,都极为相似。所以,下面以STM32F103ZE为例,引导大家学习其数据手册。  

数据手册

很多工程师英文水平都不好,而大部分数据手册都是英文版,导致很多人入门就放弃了。   有些厂商为了照顾中国开发者,特意将英文手册翻译为中文手册,比如STM32就有很多中文手册,比如针对STM32F1和F4系列都有很多翻译版(只是版本相比较老)。   这里说一点:芯片的数据手册“大同小异”,只需要熟悉常见的一些英文单词,我觉得都能阅读个大概,阅读多了,自然而然有些内容就能看懂了。   这里为了照顾初学者,以STM32F103中文版为例来展开说明。   打开数据手册,你会看到芯片的许多重要,如下图:

嵌入式开发

  主页的内容,相信大家看英文版文档也能明白,以上是首页预览,可以抓住一些重要内容。   再次就是查看目录,目录可以大概知道文档讲述了一些什么内容。   最后,预览没文档里面详细内容,可以知道整个数据手册讲述了一下什么知识。

细节知识点

一般来说,开发者需要根据自己需求,了解数据手册中需要掌握的内容,比如:  1.芯片有多少个TIM、多少个UART?这类问题,可以参看数据手册“Device overview”器件概述的章节(一般第2章节)。

嵌入式开发

如上图,可以得出,STM32F103大容量芯片有8个TIM定时器(4个通用、2个高级、2个基本),有5个UART串口。  2.芯片具体有哪几个定时器?及定时器位数?有的人看见别人代码,使用的TIM7,而自己移植过来,编译错误,发现没有TIM7。因此,就问:我在怎么知道我芯片有哪些定时器呢?   这个一般在数据手册第2章,或第3章的“Overview概述”下面有具体的概述。

嵌入式开发

  这个概述的地方会有更多的信息:1.定时器位数:比如有些定时器为32位;2.计数器类型:向上、向下等;3.捕获通道数:有些定时器不支持捕获/比较,也就没有。······ 3.引脚可以映射到哪些地方?有朋友看到其它人编程使用的UART串口1不是PA9和PA10,就产生了疑惑:我怎么知道这些UART串口可以使用哪些引脚呢?  这个问题答案在“Pinouts and pin descriptions引脚定义章节”。

嵌入式开发

  比如你想知道UART串口1可以使用哪些引脚,可以使用“USART1_TX”搜索一下,看有哪些引脚有“USART1_TX”这个功能,那么这个引脚就具有这个功能。  4.IO可以输入多高电压? 检测时多高电压才是高电平?有的朋友可能会产生疑问,我STM32是3.3V供电,那么我输入IO的电压是不是最高就为3.3V了呢?    之前有朋友问:我STM32做IO输入检测电平时,按理说应该为高电平。可能因为外部电路原因,发现不对,就用万用表测量,电压在1V左右。   他就问了这么一个问题,我输入电压多高才认为是高电平呢?   这个问题可以在数据手册Electrical characteristics电气特性下面找到答案。

嵌入式开发

 输入电压,可以看引脚定义章节,如果带有FT的,证明可以承受5.5V电压。   而被检测为高电平,最小需要2V电压。   好了,本文就写到这里。以上只是提供思路,可能你遇到的问题不止这些,需要学会合理利用手中资源。  

审核编辑 :李倩

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分