WinAVR是開源社區(qū)的一個用來開發(fā)AVR單片機的GCC編譯器,WinAVR可運行于32位Windows操作系統(tǒng)中,并兼容64位Windows操作系統(tǒng)。WinAVR 是GNU 組織推出的AVR 單片機的gcc 編譯器,該編譯器的編譯效率極高。gcc 編譯器是開源的,是免費的。使用gcc 編譯器,可以掌握標準c 的語法等,為學習Linux 等奠定基礎。
winavr 編譯器安裝教程:
下載完成后,運行安裝程序。
選擇語言
你沒有必要因為編程而選擇英文,也可以選擇你更熟悉的中文。
歡迎界面
歡迎界面將提示你安裝馬上開始。建議你關閉其他正在運行的程序,正在進行的系統(tǒng)更新。屏幕背景將變成藍色,任務欄會消失。這只是安裝程序為了讓你集中注意力的做法。你依然可以通過鍵盤上的Windows鍵調出開始菜單和任務欄。
許可協(xié)議
WinAVR在GNU GPL許可協(xié)議下發(fā)布。接受許可協(xié)議,以繼續(xù)安裝。
選擇路徑
選擇安裝路徑。最佳的做法是安裝在一個不包含空格的路徑下,這樣會避免很多可能的問題。
選擇組件
選擇額外的組件。
Install Files,安裝文件。它是必要的選項。
Add Directories to PATH,將程序目錄添加到PATH環(huán)境變量。強烈建議的選項,添加到PATH之后,你就可以直接調用WinAVR命令,而不必切換到程序路徑。
Programmers Notepad,代碼編輯器,也是一個簡單的IDE。建議安裝,它體積小巧,卻能為編程帶來極大便利。
安裝進度
安裝過程中會顯示安裝進度,此過程會持續(xù)幾分鐘,這取決于你的計算機速度。
安裝完成
若安裝順利完成,則會跳到完成界面。點擊完成離開安裝界面。
winavr 編譯器簡單使用教程:
啟動Programmer's Notepad
在開始菜單中尋找WinAVR 20100110(也可能是其他版本號) > Programmers Notepad [WinAVR],打開程序。
新建項目
File > New > Project,新建一個項目。
指定項目的名字,并選擇項目路徑。項目路徑是存放的所有項目文件,最好為它選擇一個一個單獨的空目錄。
編寫代碼
在啟動Programmer's Notepad時,已經默認加載了一個新建的空白文檔,這個文檔還沒有被保存,也沒有設置文件類型,文本不會被識別為代碼。如果打開的時候沒有文件,則可以點擊工具欄左側的新建文件按鈕,創(chuàng)建一個空白文件。
我們可以先隨意輸入一些文本,然后保存。保存按鈕在工具欄的左側,也可以再“File”菜單里選擇“Save”。注意文件的保存的文件夾最好與前面項目文件夾一致。文件名以“.c”結尾可以幫助Programmer's Notepad識別代碼類型。
然后,我們就可以將此C源代碼文件包含到項目中去了。右擊窗口左側項目面板中的我們前面新建的項目,在右鍵菜單中選擇“Add Files”。之所以要將C代碼文件添加到項目中,是為了便于項目的管理。
現在,就可以在C文件中添加代碼了。試著將下面的代碼復制到編輯器中,或者自己書寫代碼。
//此程序實現8個LED的亮與滅//所使用的開發(fā)板為MEGA128,PB接8個LED燈,1為亮,0為滅//若使用不同的開發(fā)板,則應相應修改#include <avr/io.h> //AVR頭文件#include <util/delay.h> //內部函數頭文件int main(void){PORTB = 0xff;//初始化PB口DDRB = 0xff;//設置PB口為輸出while(1){& PORTB = 0xff;& _delay_ms(500);//延時500毫秒& PORTB = 0x00;& _delay_ms(500);//延時500毫秒}}輸入代碼之后,編輯器能夠自動識別代碼,并以不同顏色標記。
如此,代碼便編輯完畢了。但現在還不能直接開始編譯,因為還沒有配置makefile。
Makefile
在開始菜單中打開WinAVR > MFile [WinAVR]。
在程序菜單打開Makefile,在菜單中選擇各個選項。
首先是Main file name,即包含main函數的C文件。只需要輸入文件名即可,不需要后綴(.c)。
下面是MCU type,也就是單片機的型號,這里使用的是ATmega系列的atmega128。
當你選擇了選項之后,會發(fā)現Makefile文件多了一行“MCU = atmega128”。這個小程序的作用就是在你通過菜單修改選項時,同步修改makefile文件。
然后是Output format,即編譯輸出的文件類型。這里我們選擇ihex(十六進制文件),這種文件可被下載程序下載到單片機中。
接下來是Optimization level選項,選擇默認的s即可。
之后是Debug format選項,這里我們使用GDB和Insight調試工具,因此要選擇第一個“ELF/stabs”。
C standard level,即C語言標準。C99和GNU99是不同的,這里我們選擇GNU99。
C/C++ source files,C/C++源文件。如果除了main文件還有其他C/C++源代碼文件,則需要用此選項添加。
還有一個芯片的晶振頻率,需要手動修改。在菜單中選擇Makefile > Enable Editing of Makefile,啟動手動編輯。現在就可以像編輯文本一樣修改makefile文件了。找到
# Processor frequency.# This will define a symbol, F_CPU, in all source code files equal to the # processor frequency. You can then use this symbol in your source code to # calculate timings. Do NOT tack on a 'UL' at the end, this will be done# automatically to create a 32-bit value in your source code.# Typical values are:#& F_CPU = 1000000#& F_CPU = 1843200#& F_CPU = 2000000#& F_CPU = 3686400#& F_CPU = 4000000#& F_CPU = 7372800#& F_CPU = 8000000#& F_CPU = 11059200#& F_CPU = 14745600#& F_CPU = 16000000#& F_CPU = 18432000#& F_CPU = 20000000F_CPU = 8000000將F_CPU的數值修改為與你的單片機一致。F_CPU的值也可在C代碼中用#define F_CPU設定,代碼中的定義會覆蓋makefile中的定義。
編輯好之后,File>Save as,保存此makefile文件到項目文件夾下,文件名為必須為Makefile。
編譯程序
有了Makefile之后,就可以編譯程序了。
回到Programmer's Notepad,確保代碼已經保存。使用菜單欄的Tools > Make all [Win AVR],編譯程序。
若程序沒有錯誤,編譯就能順利完成。若有錯誤,則會在下方的結果中提示。
現在我們轉到項目所在的文件夾,就能看到WinAVR編譯輸出的文件了。
.hex后綴的文件是Flash文件,可以通過燒寫程序下載到AVR單片機的Flash中去。
.eep后綴的文件是EEPROM文件,可以通過燒寫程序下載到AVR單片機的EEPROM中去。
現在,一個AVR項目就已經完成了。
|
新聞熱點
疑難解答
圖片精選