亚洲国产高清在线观看视频_日韩欧美国产aⅴ另类_奇米影视7777久久精品_欧美 国产 亚洲 卡通 综合

您的位置:首頁 > 熱點 >

AVR單片機學(xué)習(xí)活動之帶你學(xué)會WinAVR

對于GCC(注:本文中所說GCC與WINAVR是同一個概念)的介紹這里不做贅述,對于學(xué)習(xí)AVR單片機的朋友相信都聽說過這款編譯軟件。AVR的開發(fā)軟件很很多,下面是本人在網(wǎng)上搜索到的對于幾個編譯軟件的一點比較,僅供參考:相信對于每個已經(jīng)在學(xué)習(xí)AVR的朋友都有一款自己喜歡使用的編譯軟件,我們推薦使用GCC,原因是它是真正的免費的,對C語言的支持是很好的??赡芎芏嗯笥褜τ谑褂脜R編編程還是使用C語言編程都有不同的見解,在這里我們推薦使用相對高級的C語言進行編程,現(xiàn)在一個好的編譯軟件對于程序的優(yōu)化是可以讓人接受的,其編譯出的程序效率足以滿足我們的要求,并且其良好的可移植性為不同平臺下的程序編寫提供了方便。這里是GCC的下載頁面: http://sourceforge.net/projects/winavr/files/GCC對于初學(xué)者可能不是太容易入門,我在這里做這個簡單的教程,希望對于初學(xué)AVR并且想以GCC為開發(fā)軟件的朋友有所幫助。本教程將以如下幾個部分進行:*GCC軟件的安裝*建立并編譯第一個GCC工程文件*配置Makefile文件1、GCC軟件的安裝如果你按照上面所說的鏈接下載到最新版的GCC安裝軟件,請找到安裝軟件的位置,文件名為WinAVR-20090313-install.exe。雙擊運行,進行安裝。在安裝步驟上與在WINDOWS下安裝其他軟件沒有很大的區(qū)別,大致步驟如下:選擇安裝語言,這里選擇簡體中文。一直點下一步,然后選擇安裝位置。這里選擇要安裝的組件,如果電腦空間不是很擁擠的話建議完全安裝。點擊安裝進行GCC的安裝。完成安裝。安裝完成之后會彈出一個,WINAVR USER MANUAL,這個關(guān)掉即可,這是一個不錯的參考資料,有興趣的朋友可以仔細看一看。完成之后在開始->程序->WINAVR-20090313里面可以找到安裝的GCC軟件。2、建立并編譯第一個GCC工程文件這一部分我說一下AVR GCC中如何建立工程并編輯程序代碼。點擊上圖中的Programmers Notepad[WinAVR],啟動我們的 AVR GCC主程序。如圖:其界面跟常用的WINDOWS下的程序是一樣的,沒有特別的地方,在這里不做詳細的說明,用到的時候我們再進行說明。點擊File->New->Project,建立一個新的工程,如下圖:輸入工程的名字,選擇工程的存放路徑,可以有中文路徑。然后點擊OK按鈕。在界面中間的文本編輯窗口中,敲一個空格,或者鍵入任何內(nèi)容,在工具欄上的保存按鈕將變成有效的狀態(tài)(默認保存按鈕是無效的?。?。點擊保存,在彈出的“另存為”對話框中,將文件保存為main.c文件,然后放到工程目錄下(剛才建立的test工程目錄)。如果不小心把這個空白的默認為new的編輯窗口關(guān)掉或者開始的時候就沒有,可以點擊file菜單下面的按鈕新建一個,保存方法同上。在左側(cè)的工程欄窗口中,右鍵點擊工程名test,選擇Add Files。將剛保存的main.c文件添加進工程。在左側(cè)的工程中可以看到目錄結(jié)構(gòu):至此,我們就建立好了一個新的工程,我們在這里添加簡單的代碼測試。如下:#include //AVR頭文件#include //內(nèi)部函數(shù)頭文件//PB口接8個LED,PB口為低時LED亮,高時滅,//本程序?qū)崿F(xiàn)8個LED以1HZ的頻率閃爍int main(void){PORTB = 0xff;//初始化PB口DDRB = 0xff;//設(shè)置PB口為輸出while(1){PORTB = 0xff;_delay_ms(500);//延時500毫秒PORTB = 0x00;_delay_ms(500);//延時500毫秒}}點擊保存。這樣我們的第一個測試程序就編輯完畢了。有興趣的朋友可以現(xiàn)在點擊Tools->[WinAVR]Make All編譯一下試試,看看能不能編譯通過?答案是:不能通過?。√崾荆?"make.exe" allmake.exe: *** No rule to make target `all.Stop.>Process Exit Code: 2>Time Taken: 00:00原因是MakeFile尚未編寫。在GCC進行編譯的時候找不到Makefile文件就會出錯。下面Makefile文件的配置方法.3、配置Makefile文件開始->程序->WinAVR-20090313->MFile[WinAVR],打開Makefile的配置窗口。點擊Makefile菜單,常用的選項有:Main file name…MCU type其他的可以先保持默認。先點擊Makefile->Main file name…在彈出的對話框中輸入剛才我們建立的c文件的文件名,不包括“.c”!??!只輸入main即可。(必須跟源文件名一致?。。。。。┤缓?,Makefile->MCU type,選擇MCU的類型,我們使用的是atmega16。然后點擊File->Save As,在彈出的對話框中選擇保存到我們上一節(jié)建立的工程目錄下(或者先保存到別的地方然后拷貝過去)?。?!雙擊得到的Makefile文件(不要改文件名?。。?!),在打開方式中選擇,記事本。確定。將F_CPU = 8000000,改成你需要的晶振頻率,我的板子是7.3728MHZ,那么就改成F_CPU = 7372800,保存退出。這樣,Makefile基本的配置就完成了,然后回到WinAVR的界面中,點擊Tools->[WinAVR]Make All編譯,在下面的Output窗口中提示:>"make.exe" all-------- begin --------avr-gcc (WinAVR 20090313) 4.3.2Copyright (C) 2008 Free Software Foundation, Inc.This is free software; see the source for copying conditions.There is NOwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.Compiling C: main.cavr-gcc -c -mmcu=atmega16 -I. -gdwarf-2 -DF_CPU=7372800UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=./main.lst-std=gnu99 -MMD -MP -MF .dep/main.o.d main.c -o main.oLinking: main.elfavr-gcc -mmcu=atmega16 -I. -gdwarf-2 -DF_CPU=7372800UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=main.o-std=gnu99 -MMD -MP -MF .dep/main.elf.d main.o --output main.elf -Wl,-Map=main.map,--cref-lmCreating load file for Flash: main.hexavr-objcopy -O ihex -R .eeprom -R .fuse -R .lock main.elf main.hexCreating load file for EEPROM: main.eepavr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" \--change-section-lma .eeprom=0 --no-change-warnings -O ihex main.elf main.eep || exit 0Creating Extended Listing: main.lssavr-objdump -h -S -z main.elf >main.lssCreating Symbol Table: main.symavr-nm -n main.elf >main.symSize after:AVR Memory Usage----------------Device: atmega16Program:158 bytes (1.0% Full)(.text + .data + .bootloader)Data:0 bytes (0.0% Full)(.data + .bss + .noinit)-------- end -------->Process Exit Code: 0>Time Taken: 00:07編譯通過?。?!在工程目錄中可以看到編程之后生成的HEX文件。到這里AVR GCC基本使用大致就可以掌握了,其他的一些功能比如和AVR Studio配合使用等在熟悉了之后慢慢就可以摸索了,我們后面也考慮出相應(yīng)教程,歡迎大家到時候關(guān)注http://bbs.cepark.com/index.php,我們會第一時間把教程發(fā)布在論壇提供給大家下載。這里只給大家簡單的介紹了AVR GCC的使用,盡量以圖形的方式方便大家的學(xué)習(xí),后面緊跟的將是下載軟件的使用,我們推薦雙龍的下載軟件。

標(biāo)簽: AVR單片機WinAV

相關(guān)閱讀

芜湖市| 综艺| 涟水县| 无为县| 乐都县| 白银市| 武陟县| 彰化市| 肇州县| 札达县| 宁明县| 云安县| 九台市| 潮安县| 鄂州市| 玛曲县| 宜兰县| 闸北区| 石门县| 南康市| 辽阳市| 镇赉县| 铜梁县| 洛南县| 阿拉善盟| 阳曲县| 北票市| 马边| 清徐县| 菏泽市| 梁平县| 东平县| 涿州市| 祁阳县| 板桥市| 湛江市| 西充县| 内江市| 周宁县| 易门县| 景宁|