版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、無錫谷雨電子實(shí)驗(yàn)二跑馬燈實(shí)驗(yàn):控制多個(gè) GPIO2014/1/27在此處鍵入文檔的摘要。摘要通常是對(duì)文檔內(nèi)容的簡(jiǎn)短總結(jié)。在此處鍵入文檔的摘要。摘要通常是對(duì)文檔內(nèi)容的簡(jiǎn)短總結(jié)。目錄前言2必要條件2原理圖2編程參考2源碼分析36 編譯調(diào)試77 使用 Flash Programmer程序101 前言在實(shí)驗(yàn) 1 基礎(chǔ)上,學(xué)習(xí)控制多個(gè)GPIO,驅(qū)動(dòng) LED,直觀的觀察實(shí)驗(yàn)現(xiàn)象2 必要條件A 硬件1、 SmartRF 系列開發(fā)板,CC2530 或者 CC25312、 CC-Debugger 仿真器B1、 IAR for 8051 開發(fā)環(huán)境,版本:8.102、 Flash Programmer 固件燒寫。3
2、 原理圖當(dāng) P1.0當(dāng) P1.1當(dāng) P1.4是 LED1 亮,低電平是 LED1 滅;是 LED2 亮,低電平是 LED2 滅;是 LED3 亮,低電平是 LED3 滅;4 編程參考和一般的單片機(jī)一樣,控制 GPIO,需要配置 GPIO 相關(guān)的寄存器,完整冊(cè),請(qǐng)參:目錄下的 CC253x4x User Guide. (Rev. C).pdf,對(duì)應(yīng)的中文手冊(cè): CC2530CC254xEK的中文手冊(cè)。這一節(jié),引入一個(gè)宏定義函數(shù) BV()。#define BV(x)1x;/將 1每個(gè)位。x 位,這樣可以非常方便而且非常清晰的控制寄存器的P1DIR |=BV(0) | BV(1) | BV(4);
3、/P1.0,P1.1,P1.4 定義為輸出口P1SEL &= ( BV(0) | BV(1) | BV(4);/ P1.0,P1.1,P1.4 定義為一般GPIO注意上面的表格,每個(gè)寄存器中都有一個(gè)默認(rèn)值,上面表格中 Reset 就是寄存器的默認(rèn)值。TIPS:在協(xié)議棧中,用到了非常多的宏定義函數(shù),宏定義不但能保持代碼簡(jiǎn)介,而且代碼更容易,建議大家在編碼過程中多使用效率高的宏定義。5 源碼分析打開實(shí)驗(yàn) 2 跑馬燈實(shí)驗(yàn)Led 工程(雙擊 Led.eww 打開)#include /CC2531 也可以使用該頭文件/Ghostyu SmartRF 開發(fā)板實(shí)驗(yàn)/跑馬燈實(shí)驗(yàn)/技術(shù)支持:/無錫谷雨電子typ
4、edef unsigned char u8;typedef unsigned shortu16;/定義 P1.0 口為 LED1 控制端/定義 P1.1 口為 LED2 控制端/定義 P1.4 口為 LED3 控制端#define LED1 P1_0#define LED2 P1_1 #define LED3 P1_4/*常用宏定義*/ #define BV(x) (1(x)/*名稱: DelayMS()功能: 毫秒延時(shí),系統(tǒng)時(shí)鐘不配置時(shí)默認(rèn)使用16M參數(shù): msec 延時(shí)參數(shù),注意,最大數(shù)值為 65536ms出口參數(shù): 無*/ void DelayMS(u16 msec)u16 i,j;fo
5、r (i=0; imsec; i+)for (j=0; j536; j+);/*名稱: LedSet()功能: 點(diǎn)亮或熄滅所有 LED 燈參數(shù): m 為 0 時(shí) LED 燈亮 m 為 1 時(shí) LED 燈滅出口參數(shù): 無*/ void LedSet(u8 m)LED1 = m; LED2 = m; LED3 = m;/*名功稱: InitLed()能: 設(shè)置 LED 燈相應(yīng)的 IO 口參數(shù): 無出口參數(shù): 無*/ void InitLed(void)P1DIR |=BV(0) | BV(1) | BV(4); /P1.0,P1.1,P1.4 定義為輸出口P1SEL &= ( BV(0) | BV
6、(1) | BV(4);/ P1.0,P1.1,P1.4 定義為一般GPIO/只有初始化過 GPIO 后,對(duì) GPIO 的操作才會(huì)生效/使所有 LED 燈默認(rèn)為熄滅狀態(tài)LedSet(0);void main(void)u8 i;/設(shè)置 LED 燈相關(guān) IO 口InitLed();while(1)LED1 = !LED1;DelayMS(200); LED2 = !LED2;DelayMS(200); LED3 = !LED3;DelayMS(200);/流水燈,初始化時(shí) LED 為熄滅執(zhí)行后則點(diǎn)亮/與上述過程相反LED3 = !LED3;DelayMS(200); LED2 = !LED2;D
7、elayMS(200); LED1 = !LED1;DelayMS(200);for (i=0; i3; i+)/所有燈閃爍 3 次LedSet(0);/關(guān)閉所有 LED 燈DelayMS(200);LedSet(1);/打開所有 LED 燈DelayMS(200);/使所有 LED 燈熄滅狀態(tài)LedSet(0);DelayMS(500);6 編譯調(diào)試注意,如果編譯出現(xiàn)如下錯(cuò)誤:Error:Copy protection check,No valid license found for this product24表明 IAR 未成功。如果編譯成功,就可以到開發(fā)板中運(yùn)行了。如下截圖,如果中途出
8、現(xiàn)了錯(cuò)誤,多數(shù)是仿真器未成功連接開發(fā)板(連接后按仿真器復(fù)位,CC-Debugger 指示燈會(huì)變成綠色,表示已識(shí)別開發(fā)板),或者是仿真器驅(qū)動(dòng)沒有安裝好(到設(shè)備管理器了更新驅(qū)動(dòng))TIPS:如果 CC-Debugger 指示燈已經(jīng)變綠,但還程序出錯(cuò),這多數(shù)是由于仿真器固件受損,需要重新恢復(fù)一下固件,參考 CC-Debugger 手冊(cè)。在調(diào)試的過程中,大家可以設(shè)置斷點(diǎn),然后觀察某個(gè)變量或者寄存器的值,都比較方便。如何設(shè)置斷點(diǎn)?將光標(biāo)停留在想要的語句處,然后點(diǎn)擊如下圖紅圈:,或者在語句的左邊的灰域雙擊。全速運(yùn)行到斷點(diǎn)處停止運(yùn)行,這時(shí)就可以查看當(dāng)前的運(yùn)行狀態(tài),例如變量值,寄存器狀態(tài)等。如何觀察變量?如下圖
9、,右擊選中的變量。Add to Watch 即可。全速運(yùn)行后,可以看到開發(fā)板 LED13 輪流點(diǎn)亮的現(xiàn)象。以上就是跑馬燈工程的簡(jiǎn)單調(diào)試。在 機(jī)程序的開發(fā)過程中,單步調(diào)試是非常有效的排,但是在后面的協(xié)議棧開發(fā)過程中,大多數(shù)情況下就不能單步調(diào)試了,一旦中斷運(yùn)行,錯(cuò)就會(huì)斷開無線連接。7 使用 Flash Programmer程序在之前,快速的將程序均使用 IAR 來編寫調(diào)試程序,但很多情況下,不需要調(diào)試,需要到開發(fā)板中,然后觀察現(xiàn)象,這時(shí),就需要 Flash Programmer 燒寫工具。使用 Flash Programmer 燒寫,需要 IAR 工程設(shè)置產(chǎn)生HEX 文件。那么如何配置 IAR 產(chǎn)
10、生 HEX 文件呢?打開工程 Options1、 如下圖:框。兩種方式打開2、 如下圖:打開 Options框如下圖,在左邊選擇 Linker,然后右邊選擇 ExtraOutput 選項(xiàng)卡,輸入對(duì)應(yīng)的名稱.hex 即可。在使用 Flash Programmer 之前,需要安裝。在的 Software/TI/SmartRF_Flash_Programmer 目錄有該程序的安裝文件,大家也可以到 TI 官網(wǎng),為:/tool/flash-programmer安裝之后,會(huì)在桌面生成一個(gè)快捷,或者在開始菜單里找到它,打開。如下圖步驟設(shè)置,注意步驟 3 中,IAR 工程產(chǎn)生的 HEX 文件位于 IAR 的工程目錄內(nèi),一般如下述結(jié)構(gòu):LedDebugExeLED 是 IAR 工程名。Debug,是 IAR 工程的配置名稱,一個(gè) IAR 工程可以包括多個(gè)配置,例如 Debug 和Release?;蛘咂渌脩糇远ǖ呐渲谩?Exe,編譯后產(chǎn)生的可執(zhí)行文件所在目錄。另外注意步驟 4,常用的是前三個(gè)選項(xiàng),一般使用第二個(gè),快速。Erase,擦除整個(gè)。Erase and Program,先擦除,然后燒寫。Erase,Program,Verify,先猜出,然后燒寫,最后驗(yàn)證燒寫的文件是否正確
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)業(yè)機(jī)械購(gòu)買補(bǔ)貼合同
- 技術(shù)開發(fā)服務(wù)合同案例
- 企業(yè)培訓(xùn)就業(yè)協(xié)議書編寫技巧
- 2第二章-血液一般檢驗(yàn)-02-血栓與止血、血型
- 室內(nèi)清潔合作合同格式
- 員工個(gè)人合同書范本
- 投資合作協(xié)議范本:2024投資合作協(xié)議范本
- 場(chǎng)地游戲安全協(xié)議書
- 建筑安裝工程用地協(xié)議范本
- 個(gè)人結(jié)算賬戶管理文件
- 2022版義務(wù)教育(生物學(xué))課程標(biāo)準(zhǔn)(附課標(biāo)解讀)
- 麻醉恢復(fù)室護(hù)理課件
- 五育融合下的新勞動(dòng)教育課題
- 數(shù)字化轉(zhuǎn)型對(duì)中學(xué)教育的影響
- 新型電力系統(tǒng)簡(jiǎn)介演示
- 基于Android網(wǎng)上購(gòu)物系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 企業(yè)事業(yè)部制的職責(zé)與權(quán)限
- 廣東省行政執(zhí)法資格考試題庫(kù)
- 校園設(shè)施規(guī)劃設(shè)計(jì)案例分析
- 建筑施工安全員培訓(xùn)
- 普通高中生招生計(jì)劃書
評(píng)論
0/150
提交評(píng)論