本文隸屬於AVR單片機教程系列。html
今天去交大密院參觀了設計展,無外乎兩個主題:Arduino、Python。git
關於Python,我印象最深的是一位Python程序員的話:你要硬核的話,能夠去那邊看Java。程序員
拜託,都9102年了,Java已經算得上硬核了?是Python太好用,仍是Java版本更新太快了?真正的硬核,絕對BrainFuck莫屬,若是要實際一點,也是C++、Haskell之輩,當Java在他們口中稱得上硬核的時候,我以爲我能夠換一個展臺了。github
因而我來到了全是Arduino的樓層。看到那麼多Arduino,我不由疑惑,雖然Arduino是最多見的開發板,但也不至於徹底沒有STM32的蹤跡吧?問了才知道,是教授要求他們用Arduino的,我也就無語了。web
跟一個優秀做品設計者聊了幾句,他說同時控制舵機和揚聲器很難控制好延時,揚聲器輸出的音樂節奏會亂。我第一反應固然是他沒有用定時器中斷,一問果真如此,而且他不知道中斷也不知道定時器。我也就不想多說了,告辭。架構
以前設計模塊化單片機開發系統的時候,一直以爲「業餘愛好者由於開發平臺封裝性太強而沒法學會使用單片機高級功能」(其實就是專指Timer/Counter,由於總線、ADC等都有庫,惟獨T/C必須用戶本身寫中斷)這個論調站不住腳,甚至還寫了個問卷,結果雖然與預期相符,但我還把緣由歸結爲問卷能傳播的範圍過小。如今以爲,就算是大四的學生,水平也就這樣。編輯器
參觀完這個展覽,我更堅決了要好好寫這份教程的想法。要想學好單片機,良好的開發環境必不可少。模塊化
以上爲廢話,咱們來配置開發環境吧。工具
咱們要安裝如下幾個軟件:
Atmel Studio 7.0(簡稱AS7),是Atmel爲自家單片機推出的IDE,基於Visual Studio 2015;
AVRDUDESS,是支持多種下載器的AVR單片機燒寫工具AVRDUDE的GUI版,若是你熟悉命令行,直接用AVRDUDE也行;
Zadig,用於安裝USB驅動,無需安裝,下載即用,只須要用一次;
Serial Port Utility(簡稱SPU),是一個串口通訊工具,界面比同類軟件乾淨;
串口工具的驅動,取決於你使用的型號,通常只有PL2303和CH340兩種,在網上下載並安裝對應的驅動便可。
Atmel Studio 7.0的下載地址:聯網安裝包、離線安裝包;
Zadig的下載地址:應用程序;
SPU的下載地址:安裝包。
若是下載太慢,用如下關鍵字搜索:Atmel Studio 7.0.1931。
另外,SPU是收費軟件,可免費試用30天。要麼買,要麼想辦法繼續用(瘋狂暗示),要麼用相似軟件替代。
AVRDUDE和SPU的安裝按照安裝程序來就行,不講了。
其實AS7也能夠不講,但這個軟件比較大,有些人安裝大軟件老是有點慌,因此仍是寫一下。
通過短暫的加載後,安裝程序會顯示這個界面。
第一個勾是贊成協議,固然是必須勾的。能夠閱讀一下協議,與通常軟件的協議無異,除了開源軟件部分特別長之外。
下面的框是用來指定安裝位置的,自由選擇。
最後一個勾是容許發送匿名信息,無所謂。
選擇要開發的架構,在本教程中只用到第一個8位AVR,勾選第一個就能夠了。
選擇是否要安裝ASF,這個在咱們的教程中不須要,但有時候能夠用來抄代碼。
而後安裝程序會檢查當前系統狀態是否能夠安裝,我碰到過第一個爲叉的狀況,在新裝系統後集中安裝軟件的時候會出現,重啓就好。若是還很差就再重啓,再很差就是系統的問題了。
這是2018年6月發佈的安裝包,自那之後還有新單片機型號推出,相應的頭文件沒有加入這個安裝包,須要安裝完後手動更新。咱們用不到那麼新的設備,不更新也能夠。
而後就是漫長的安裝,等等吧。中間會跳出Visual Studio的安裝程序。
最後,安裝完成,桌面上會有Atmel Studio 7.0的快捷方式。選項是啓動AS7,勾選就當即啓動,不勾選就以後手動啓動,無所謂。
最主要的幾個點我講一下,其餘的本身根據習慣來吧。
打開AS7會出現這個界面,此時軟件正在加載,一會就行了。
軟件的界面就是這樣的,能夠新建、打開項目,也能夠快速打開最近使用的文件。
咱們先搗鼓一下設置。在菜單欄→Tools,點擊Options。
在Environment→International Settings中,選擇語言,可選擇英語或與系統相同的語言,也能夠下載語言包。
在Environment→General中,選擇配色主題,有Blue、Dark和Light三種可選。Dark主題在一些組件中不太美觀。
在Environment→Keyboard中配置快捷鍵。
輸入「build」,選擇Build.BuildOnlyProject,選中下面的框,按F5(是按F5鍵不是輸入F和5兩個字符),而後點Assign。用於build當前project。
external, Tools.ExternalCommand1, F6, Assign. 用於後面的「一鍵燒寫」。
comment, VAssistX.SelectionToggleLineComment, Ctrl+/, Assign. 用於註釋與取消註釋。
這些是須要手動配置的快捷鍵中最經常使用的。
在Text Editor→All Languages→General中,勾選Line numbers,在編輯器中顯示行號。
在Text Editor→GCC→Tabs中,選擇Insert spaces。用空格代替tab是程序員的基本素質,據說用空格的程序員工資更高哦!
在菜單欄→Tools中,點擊External Tools...。
這個窗口用於配置外部工具,咱們用它來建立一個「一鍵燒寫」的工具。
在下面的4行中,依次填入如下最外層引號內的內容:
Title: "AVRDUDE"
Command: "C:\Program Files (x86)\AVRDUDESS\avrdude.exe"
Arguments: "-c usbasp -p m324pa -B 0.5 -U flash:w:"$(TargetName).hex":i"
Initial directory: "$(TargetDir)"
注意第二行中的目錄要換成AVRDUDESS的安裝目錄,我這裏安裝在了默認位置。
最後,要勾選Use Output window。
除了AS7中的配置之外,還須要使用Zadig安裝USBasp的USB驅動。在安裝以前,先插入USBasp下載器。
直接打開軟件跳出這個界面,沒有USB設備顯示出來。
在菜單欄→Options中勾選List All Devices。
而後USB設備就都顯示出來了,選擇USBasp。
先確認上面選的是USBasp,千萬不要選錯!!!點擊上下箭頭,選到libusbK,而後Replace Driver。我這裏由於已經安裝過了,因此會顯示Reinstall。
安裝成功,環境配置完成。