版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、無錫谷雨電子實驗九通過串口控制 LED 亮滅實驗2014/1/27在此處鍵入文檔的摘要。摘要通常是對文檔內(nèi)容的簡短總結(jié)。在此處鍵入文檔的摘要。摘要通常是對文檔內(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 接收信號,P0.3 是 CC254x CTS 和RTS,當(dāng)開啟 flowcontrol 流控制時需要改硬件。UART 的 Tx 發(fā)射信號,另外還有4 編程參考相關(guān)寄存器 UxCSR、UxCSR、UxGCR、UxBUF、UxBAUD、CLKCONCMD、CLKCONSTA 如下表所示234波特率計算公式如下:這里使用常見的 115200 波特率。配置 UART 一般步驟如下:1、 配置 IO 端口為外設(shè)(非GPIO)2、 配置 UART 相關(guān)寄存器及波特率。宏定義函數(shù) BV()。#define BV(x)1x;/將 1每個位。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 源碼分析打開實驗 7 按鍵實驗uart 工程(雙擊 uart.eww 打開)#include /CC2531 也可以使用該頭文件/Ghostyu SmartRF 開發(fā)板實驗/串口收發(fā)驗,波特率 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()功能: 毫秒延時,系統(tǒng)時鐘不配置時默認(rèn)使用16M,本 demo 中,時鐘為外部 32M參數(shù): msec 延時參數(shù),注意,最大數(shù)值為 65536ms出口參數(shù): 無6*/void DelayMS(u16 msec)u16 i,j;for (i=0; imsec; i+)for (j=0; j536*2; j+);/*名稱: LedSet()功能: 點亮或熄滅所有 LED 燈參數(shù): m 為 0 時 LED 燈亮 m
6、為 1 時 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 后,對 GPIO 的操作才會生效/使所有 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 中,每次接收一個字節(jié)*/#pragma vector = URX0_VECTOR errupt void UART0_ISR(void)/ 清中斷標(biāo)志URX0IF = 0;if(U0DBUF=A)/點亮 LED1 LED1=1;else if(U0DBUF=D)/熄滅 LED1 LED1=0;if(U0DBUF=B)/點亮 LED2 LED2=1;else if(U0DBUF=E)/熄滅 LED2 LED2=0;if(U0DBUF=C)/點亮 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)時鐘源為 32MHZ 晶振/等待晶振穩(wěn)定/設(shè)置系統(tǒng)主時鐘頻率為 32MHZInitLed();InitUart();/調(diào)置串口相關(guān)寄存器while(1)6 編譯調(diào)試根據(jù)實驗 1 中的方法調(diào)試程序,若有語法錯誤,根據(jù)提示修改語句。每隔 1 秒,led1 翻轉(zhuǎn)一次。并且向串口輸出”o Ghostyu”.9第一次使用 New SmartRF 串口時,需要安裝
11、CH340G USB 轉(zhuǎn) UART 的驅(qū)動程序。請將提供的mini-usb 線插到 New SmartRF 開發(fā)板左邊的 MINI-USB 座中,然后將波動開關(guān)撥到 usb 線一次,如下圖:一旦當(dāng)你把 NewSmartRF 開發(fā)板通過 usb 轉(zhuǎn)串口的miniusb 連接到 PC 上,windows 會提示發(fā)現(xiàn)新硬件,要求安裝開發(fā)板上的 USB 轉(zhuǎn)串口 CH340G 驅(qū)動程序,如果 windows 從未安裝過 ch340 的驅(qū)動,會出現(xiàn)如下圖:2.2.1 安裝串口轉(zhuǎn) USB 驅(qū)動(CH340G)驅(qū)動程序位于/Software/Software串口USB 轉(zhuǎn)串口驅(qū)動,如下圖安裝的帶有數(shù)字簽名的驅(qū)
12、動程序 ch341.zip,解壓后,運行 setup.exe,點擊安裝,大概 10 秒后安裝成功。10安裝成功后,退出驅(qū)動安裝程序。這時,拔掉剛才已經(jīng)連接的 NewSmartRF 開發(fā)板,然后重新連接?;蛘呤褂藐P(guān)閉 NewSmartRF 電源開關(guān),重新打開。打開設(shè)備管理器,查看剛才安裝的設(shè)備驅(qū)動。(如何打開設(shè)備管理器請)假如未能安裝成功,或者有黃色的感嘆號,請右擊改設(shè)備,選擇更新驅(qū)動程序。在出現(xiàn)的框中選擇“瀏覽計算機以查找驅(qū)動程序”11然后定位到驅(qū)動程序所在目錄,然后單擊下一步。直到安裝成功。12驅(qū)動安裝成功后就可以使用開發(fā)板的 usb 轉(zhuǎn) uart 功能了驅(qū)動安裝 OK 后,打開串口調(diào)試助手
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版第四編合同法合同擔(dān)保業(yè)務(wù)風(fēng)險防范與法律解讀3篇
- 2025年度緊急口譯響應(yīng)及協(xié)調(diào)服務(wù)合同3篇
- 噪音污染紅線管理辦法
- 采銅礦工程文明施工合同
- 石油天然氣行業(yè)人員信息管理規(guī)章
- 實驗室危險品使用與儲存規(guī)定
- 連鎖店管理錦囊員工培訓(xùn)
- 咖啡公司稅務(wù)管理要點
- 配送責(zé)任協(xié)議
- 辦公室緊急疏散援助計劃
- 2024年湖北省公務(wù)員錄用考試《行測》真題及答案解析
- 自然辯證法習(xí)題及答案
- 特色農(nóng)產(chǎn)品超市方案
- 2024國有企業(yè)與民營企業(yè)之間的混合所有制改革合同
- 二次函數(shù)的幾何性質(zhì)(于特)(1)名師公開課獲獎?wù)n件百校聯(lián)賽一等獎?wù)n件
- GB/T 30595-2024建筑保溫用擠塑聚苯板(XPS)系統(tǒng)材料
- 2024年人教版八年級地理上冊期末考試卷(附答案)
- 醫(yī)學(xué)免疫學(xué)-醫(yī)學(xué)檢驗專業(yè)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 《稻草人》閱讀題及答案
- 獨立基礎(chǔ)土方開挖施工方案
- (建筑工程管理)常熟市建設(shè)工程施工圖審查工作
評論
0/150
提交評論