實(shí)驗(yàn)9通過串口命令控制led亮滅_第1頁
實(shí)驗(yàn)9通過串口命令控制led亮滅_第2頁
實(shí)驗(yàn)9通過串口命令控制led亮滅_第3頁
實(shí)驗(yàn)9通過串口命令控制led亮滅_第4頁
實(shí)驗(yàn)9通過串口命令控制led亮滅_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、無錫谷雨電子實(shí)驗(yàn)九通過串口控制 LED 亮滅實(shí)驗(yàn)2014/1/27在此處鍵入文檔的摘要。摘要通常是對(duì)文檔內(nèi)容的簡短總結(jié)。在此處鍵入文檔的摘要。摘要通常是對(duì)文檔內(nèi)容的簡短總結(jié)。目錄前言2必要條件2原理圖2編程參考2源碼分析66 編譯調(diào)試97 使用 Flash Programmer程序1411 前言通過串口輸入控制命令,控制 LED。2 必要條件A 硬件1、 SmartRF 系列開發(fā)板,CC2530 或者 CC2531 2、 CC-Debugger 仿真器B1、 IAR for 8051 開發(fā)環(huán)境,版本:8.102、 Flash Programmer 固件燒寫3、 串口調(diào)試助手。3 原理圖P0.2

2、 是 CC254x UART 的 Rx 接收信號(hào),P0.3 是 CC254x CTS 和RTS,當(dāng)開啟 flowcontrol 流控制時(shí)需要改硬件。UART 的 Tx 發(fā)射信號(hào),另外還有4 編程參考相關(guān)寄存器 UxCSR、UxCSR、UxGCR、UxBUF、UxBAUD、CLKCONCMD、CLKCONSTA 如下表所示234波特率計(jì)算公式如下:這里使用常見的 115200 波特率。配置 UART 一般步驟如下:1、 配置 IO 端口為外設(shè)(非GPIO)2、 配置 UART 相關(guān)寄存器及波特率。宏定義函數(shù) BV()。#define BV(x)1x;/將 1每個(gè)位。x 位,這樣可以非常方便而且非

3、常清晰的控制寄存器的/ P1.0 定義為輸出P1DIR |= BV(0);P1SEL &= BV(0);/ P1.0 定義為一般GPIO5P0SEL |= BV(2) | BV(3);/配置 P0.2 和 P0.3 為外設(shè),非 GPIOU0CSR |= BV(7); /配置當(dāng)前為 UART,非 SPIU0GCR |= 11; /根據(jù)上述波特率設(shè)置表格設(shè)置 115200 波特率 U0BAUD |= 216;/ 根據(jù)上述波特率設(shè)置表格設(shè)置 115200 波特率 UTX0IF = 0;/位寄存器,直接操作,清除中斷標(biāo)志除此之外還需要設(shè)置串口接收的相關(guān)寄存器。U0CSR |= BV(6);/允許接收數(shù)

4、據(jù) IEN0 |= BV(2);/打開接收中斷 EA=1;/打開總中斷5 源碼分析打開實(shí)驗(yàn) 7 按鍵實(shí)驗(yàn)uart 工程(雙擊 uart.eww 打開)#include /CC2531 也可以使用該頭文件/Ghostyu SmartRF 開發(fā)板實(shí)驗(yàn)/串口收發(fā)驗(yàn),波特率 115200,8N1.通過串口命令控制 LED 亮滅/技術(shù)支持:/無錫谷雨電子typedef unsigned char u8;typedef char8;typedef unsigned shortu16;/定義 P1.0 口為 LED1 控制端/定義 P1.1 口為 LED2 控制端/定義 P1.4 口為 LED3 控制端#d

5、efine 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,本 demo 中,時(shí)鐘為外部 32M參數(shù): msec 延時(shí)參數(shù),注意,最大數(shù)值為 65536ms出口參數(shù): 無6*/void DelayMS(u16 msec)u16 i,j;for (i=0; imsec; i+)for (j=0; j536*2; j+);/*名稱: LedSet()功能: 點(diǎn)亮或熄滅所有 LED 燈參數(shù): m 為 0 時(shí) LED 燈亮 m

6、為 1 時(shí) LED 燈滅出口參數(shù): 無*/ void LedSet(u8 m)LED1 = m; LED2 = m; LED3 = m;/*名稱: InitLed()功能:參數(shù):出口參數(shù):設(shè)置 LED 燈相應(yīng)的 IO 口無無*/void InitLed(void)P1DIR |=BV(0) | BV(1) | BV(4); /P1.0,P1.1,P1.4 定義為輸出口P1SEL &= ( BV(0) | BV(1) | BV(4);/ P1.0,P1.1,P1.4 定義為一般GPIO/只有初始化過GPIO 后,對(duì) GPIO 的操作才會(huì)生效/使所有 LED 燈默認(rèn)為熄滅狀態(tài)LedSet(0);/

7、*名稱: InitUart()功能:參數(shù):出口參數(shù):串口初始化函數(shù)無無*/void InitUart(void)7P0SEL |= BV(2) | BV(3);/配置 P0.2 和 P0.3 為外設(shè),非GPIOU0CSR |= BV(7); /配置當(dāng)前為 UART,非 SPIU0GCR |= 11; /根據(jù)上述波特率設(shè)置表格設(shè)置 115200 波特率 U0BAUD |= 216;/ 根據(jù)上述波特率設(shè)置表格設(shè)置 115200 波特率 UTX0IF = 0;/位寄存器,直接操作,清除中斷標(biāo)志U0CSR |= BV(6);/允許接收數(shù)據(jù) IEN0 |= BV(2);/打開接收中斷 EA=1;/打開總

8、中斷/*名稱: UardString()功能: 串口發(fā)送函數(shù)參數(shù): Data:發(fā)送緩沖區(qū)出口參數(shù): 無len:發(fā)送長度*/void UardString(8 *Data, u16 len)u16 i;for(i=0; ilen; i+)U0DBUF = *Data+; while(UTX0IF = 0);UTX0IF = 0;/*名稱: UardByte()功能: 串口發(fā)送函數(shù)參數(shù): byte,帶發(fā)送的數(shù)據(jù)出口參數(shù): 無*/void UardByte(8 byte)U0DBUF = byte;while(UTX0IF = 0);UTX0IF = 0;/*8名描稱: UART0_ISR(void

9、) 串口中斷處理函數(shù)述: 當(dāng)串口 0 產(chǎn)生接收中斷,將收到的數(shù)據(jù)保存在 RxBuf 中,每次接收一個(gè)字節(jié)*/#pragma vector = URX0_VECTOR errupt void UART0_ISR(void)/ 清中斷標(biāo)志URX0IF = 0;if(U0DBUF=A)/點(diǎn)亮 LED1 LED1=1;else if(U0DBUF=D)/熄滅 LED1 LED1=0;if(U0DBUF=B)/點(diǎn)亮 LED2 LED2=1;else if(U0DBUF=E)/熄滅 LED2 LED2=0;if(U0DBUF=C)/點(diǎn)亮 LED3 LED3=1;else if(U0DBUF=F)/熄滅 L

10、ED3 LED3=0;UardByte(U0DBUF); /收到后立即發(fā)送出去void main(void)CLKCONCMD &= 0 x40;while(CLKCONSTA & 0 x40); CLKCONCMD &= 0 x47;/設(shè)置系統(tǒng)時(shí)鐘源為 32MHZ 晶振/等待晶振穩(wěn)定/設(shè)置系統(tǒng)主時(shí)鐘頻率為 32MHZInitLed();InitUart();/調(diào)置串口相關(guān)寄存器while(1)6 編譯調(diào)試根據(jù)實(shí)驗(yàn) 1 中的方法調(diào)試程序,若有語法錯(cuò)誤,根據(jù)提示修改語句。每隔 1 秒,led1 翻轉(zhuǎn)一次。并且向串口輸出”o Ghostyu”.9第一次使用 New SmartRF 串口時(shí),需要安裝

11、CH340G USB 轉(zhuǎn) UART 的驅(qū)動(dòng)程序。請(qǐng)將提供的mini-usb 線插到 New SmartRF 開發(fā)板左邊的 MINI-USB 座中,然后將波動(dòng)開關(guān)撥到 usb 線一次,如下圖:一旦當(dāng)你把 NewSmartRF 開發(fā)板通過 usb 轉(zhuǎn)串口的miniusb 連接到 PC 上,windows 會(huì)提示發(fā)現(xiàn)新硬件,要求安裝開發(fā)板上的 USB 轉(zhuǎn)串口 CH340G 驅(qū)動(dòng)程序,如果 windows 從未安裝過 ch340 的驅(qū)動(dòng),會(huì)出現(xiàn)如下圖:2.2.1 安裝串口轉(zhuǎn) USB 驅(qū)動(dòng)(CH340G)驅(qū)動(dòng)程序位于/Software/Software串口USB 轉(zhuǎn)串口驅(qū)動(dòng),如下圖安裝的帶有數(shù)字簽名的驅(qū)

12、動(dòng)程序 ch341.zip,解壓后,運(yùn)行 setup.exe,點(diǎn)擊安裝,大概 10 秒后安裝成功。10安裝成功后,退出驅(qū)動(dòng)安裝程序。這時(shí),拔掉剛才已經(jīng)連接的 NewSmartRF 開發(fā)板,然后重新連接?;蛘呤褂藐P(guān)閉 NewSmartRF 電源開關(guān),重新打開。打開設(shè)備管理器,查看剛才安裝的設(shè)備驅(qū)動(dòng)。(如何打開設(shè)備管理器請(qǐng))假如未能安裝成功,或者有黃色的感嘆號(hào),請(qǐng)右擊改設(shè)備,選擇更新驅(qū)動(dòng)程序。在出現(xiàn)的框中選擇“瀏覽計(jì)算機(jī)以查找驅(qū)動(dòng)程序”11然后定位到驅(qū)動(dòng)程序所在目錄,然后單擊下一步。直到安裝成功。12驅(qū)動(dòng)安裝成功后就可以使用開發(fā)板的 usb 轉(zhuǎn) uart 功能了驅(qū)動(dòng)安裝 OK 后,打開串口調(diào)試助手

溫馨提示

  • 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. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論