做嵌入式開發,特別是底層驅動相關的開發,不管是軟件還是硬件工程師,能熟練閱讀數據手冊是必備的一個技能。
概述
比如:我們寫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電壓。 好了,本文就寫到這里。以上只是提供思路,可能你遇到的問題不止這些,需要學會合理利用手中資源。
審核編輯 :李倩
-
電壓
+關注
關注
45文章
5698瀏覽量
117301 -
嵌入式開發
+關注
關注
18文章
1070瀏覽量
48553 -
數據手冊
+關注
關注
95文章
6204瀏覽量
43494
原文標題:嵌入式開發,數據手冊為啥是重要的文檔?
文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
Java開發和嵌入式開發
學習嵌入式開發要掌握哪些重要手冊
基于ARM的嵌入式開發
學嵌入式開發入門_學嵌入式開發需要看哪些書籍
嵌入式開發好學嗎_嵌入式開發職業發展方向是什么
嵌入式開發(一):嵌入式開發新手入門

python做嵌入式開發_Python和嵌入式的區別是什么?可以做嵌入式開發嗎?

評論