![10.串口通訊收發(fā)字符串_第1頁(yè)](http://file4.renrendoc.com/view/fd4b1be60464547ba0c9670f363403ce/fd4b1be60464547ba0c9670f363403ce1.gif)
![10.串口通訊收發(fā)字符串_第2頁(yè)](http://file4.renrendoc.com/view/fd4b1be60464547ba0c9670f363403ce/fd4b1be60464547ba0c9670f363403ce2.gif)
![10.串口通訊收發(fā)字符串_第3頁(yè)](http://file4.renrendoc.com/view/fd4b1be60464547ba0c9670f363403ce/fd4b1be60464547ba0c9670f363403ce3.gif)
![10.串口通訊收發(fā)字符串_第4頁(yè)](http://file4.renrendoc.com/view/fd4b1be60464547ba0c9670f363403ce/fd4b1be60464547ba0c9670f363403ce4.gif)
![10.串口通訊收發(fā)字符串_第5頁(yè)](http://file4.renrendoc.com/view/fd4b1be60464547ba0c9670f363403ce/fd4b1be60464547ba0c9670f363403ce5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、10.串口通訊-收發(fā)字符串1實(shí)驗(yàn)?zāi)康?) 通過(guò)實(shí)驗(yàn)掌握 CC2530串口配置與使用2) 收到 PC 發(fā)送過(guò)來(lái)的數(shù)據(jù),然后收到一整串?dāng)?shù)據(jù)之后,通過(guò)串口將改數(shù)據(jù)發(fā)送回去。注:開(kāi)發(fā)中,當(dāng)程序能跑起來(lái)后,串口是第一個(gè)要跑起來(lái)的設(shè)備,所有的工作狀態(tài),交互信息都會(huì)從串口輸出。片。2實(shí)驗(yàn)設(shè)備用的是世界上最好的串口FT232,貴的 USB 串口線都用該芯硬件:PC 機(jī)一臺(tái) ZB2530(底板、板、仿真器、USB 線) 一套軟件:2000/XP/win7 系統(tǒng),IAR 8.10 集成開(kāi)發(fā)環(huán)境、串口助手3相關(guān)電路圖注:圖中 0R 的電阻是空貼的哦P0_2、P0_3 配置為外設(shè)功能時(shí):P0_2 為 RX, P0_3
2、 為 TX. USART0 和 USART1 是串行通口,它們能夠分別運(yùn)行于異步 UART 模式或者同步 SPI 模式。兩個(gè) USART 具有同樣的功能,可以設(shè)置在單獨(dú)的 I/O 引腳。此種串口設(shè)計(jì)是沒(méi)有流控功能的。1技術(shù)工程師:2357481431公司:ht:http:/4相關(guān)寄存器相關(guān)寄存器 UxCSR、UxCSR、UxGCR、UxBUF、UxBAUD、CLKCONCMD、CLKCONSTA如2技術(shù)工程師:2357481431公司:ht:http:/寄存器位描述U0CSR (0 x86) -USART0 控制和狀態(tài)Bit7 MODEUSART 模式選擇 0:SPI 模式1:UART 模式B
3、it6 REUART使能 0: 禁用1:使能Bit5 SLAVESP 主或者從模式選擇 0: SPI 主模式1: SPI 從模式Bit4 FEUART 幀錯(cuò)誤狀態(tài) 0: 無(wú)幀錯(cuò)誤檢測(cè)1: 字節(jié)收到不正確停止位級(jí)別Bit3 ERRUART 奇偶錯(cuò)誤狀態(tài) 0: 無(wú)奇偶錯(cuò)誤檢測(cè)1: 字節(jié)收到奇偶錯(cuò)誤Bit2 RX_BYTE接收字節(jié)狀態(tài) 0: 沒(méi)有收到字節(jié)1: 準(zhǔn)備好接收字節(jié)Bit1 TX_BYTE傳送字節(jié)狀態(tài)字節(jié)沒(méi)有被傳送寫到數(shù)據(jù)緩存寄存器的最后字節(jié)被傳送Bit0 ACTIVEUSART 傳送/接收主動(dòng)狀態(tài)、在 SPI 從模式下該位等于從模式選擇0: USART 空閑1: 在傳送或者接收模式 USA
4、RT 忙碌Bit7 CPOLSPI 的時(shí)鐘極性3技術(shù)工程師:2357481431公司:ht:http:/U0GCR (0 xC5)USART0 通用控制0: 負(fù)時(shí)鐘極性1: 正時(shí)鐘極性Bit6 CPHASPI 時(shí)鐘相位0: 當(dāng) SCK 從 CPOL 倒置到 CPOL 時(shí)數(shù)據(jù)輸出到 MOSI, 并且當(dāng) SCK 從 CPOL 倒置到 CPOL時(shí)數(shù)據(jù)輸入抽樣到 MISO。1: 當(dāng) SCK 從 CPOL 倒置到 CPOL 時(shí)數(shù)據(jù)輸出到 MOSI, 并且當(dāng) SCK 從 CPOL 倒置到 CPOL 時(shí)數(shù)據(jù)輸入抽樣到 MISOBit5 ORDER傳送位順序0: LSB 先傳送1: MSB 先傳送Bit4:0
5、 BAUD_E波特率指數(shù)值。BAUD_E 和 BAUD_M 決定了 UART 波特率和 SPI 的主 SCK 時(shí)鐘頻率U0BAUD (0 xC2) USART 0 波特率控制BAUD_M7:0波特率小數(shù)部分的值。BAUD_E 和 BAUD_M決定了 UART 的波特率和 SPI 的主 SCK 時(shí)鐘頻率U0DBUFUSART 0 接收/發(fā)送數(shù)據(jù)緩存UTX0IF(發(fā)送中斷標(biāo)志)IRCON2 Bit1USART 0 TX 中斷標(biāo)志 0: 無(wú)中斷未決1: 中斷未決CLKCONCMD時(shí)鐘控制命令Bit7 OSC32K32 kHz 時(shí)鐘振蕩器選擇0 : 32 kHz XOSC 1 : 32 kHz RCO
6、SCBit6 OSC系統(tǒng)時(shí)鐘源選擇0 : 32 MHz XOSC1 : 16 MHz RCOSCBit5:3 TICKSPD定時(shí)器標(biāo)記輸出設(shè)置000 :32 MHz 001 :16 MHz 010 :8 MHz011 :4 MHz 100 :2 MHz 101 :1 MHz由寄存器UxBAUD.BAUD_M7:0和UxGCR.BAUD_E4:0定義波特率。該波特率用于UART 傳送,也用于SPI 傳送的串行時(shí)鐘速率。波特率由下式給出:F 是系統(tǒng)時(shí)鐘頻率,等于 16 MHz RCOSC 或者 32 MHz XOSC。32 MHz 系統(tǒng)時(shí)鐘常用的波特率設(shè)置4技術(shù)工程師:2357481431公司:h
7、t:http:/波特率(bps)UxBAUD.BAUD_MUxGCR.BAUD_E誤差(%)24005960.1448005970.1496005980.0.03192005990.0.033840059100.1457600216100.037680059110.110.03230400216120.03110 :500 kHz 111 :250 kHzBit2:0 CLKSPD時(shí)鐘速度000 :32 MHz 001 :16 MHz 010 :8 MHz011 :4 MHz 100 :2 MHz 101 :1 MHz110 :500 kHz 111 :250 kHzCLKCONSTACLKC
8、ONSTA 寄存器是一個(gè)只讀寄存器,用來(lái)獲得當(dāng)前時(shí)鐘狀態(tài)CC2530 配置串口的一般步驟:1、配置 IO,使用外部設(shè)備功能。此處配置 P0_2 和 P0_3 用作串口 UART02、配置相應(yīng)串口的控制和狀態(tài)寄存器。3、配置串口工作的波特率。由于此實(shí)驗(yàn)增加了串口接收功能,寄存器有所改變(紅色部分),具體配置如下:PERCFG = 0 x00; /位置1 P0 口P0SEL = 0 x0c;/P0_2,P0_3用作串口(外部設(shè)備功能)0000 1100P2DIR &= 0XC0; /P0優(yōu)先作為UART0U0CSR |= 0 x80;U0GCR |= 8;U0BAUD |= 59;UTX0IF =
9、 0;/設(shè)置為UART方式 1000 0000/BAUD_E/波特率設(shè)為9600 根據(jù)上面表中獲得的數(shù)據(jù)/UART0 TX 中斷標(biāo)志初始置位0U0CSR |= 0 x40; /允許接收 0100 0000IEN0 |= 0 x84; /開(kāi)總中斷允許接收中斷5源碼分析#include #include #define uunsigned#define uchar unsigned char/定義控制燈的端口#define LED1 P1_0 #define LED2 P1_1#define LED3 P0_4void initUART0(void);void InitialAD(void);5技
10、術(shù)工程師:2357481431公司:ht:http:/void UartTX_Send_String(uchar *Data,len);uchar Recdata30=uchar RXTXflag = 1;uchar temp;o zigbee!rn;uudatanumber = 0;stringlen;/*串口發(fā)送字符串函數(shù)*/void UartTX_Send_String(uchar *Data,j; for(j=0;jlen;j+)U0DBUF = *Data+; while(UTX0IF = 0);UTX0IF = 0;len)/*初始化串口 0 函數(shù)*/ void initUART0
11、(void)CLKCONCMD &= 0 x40;while(CLKCONSTA & 0 x40);CLKCONCMD &= 0 x47;/設(shè)置系統(tǒng)時(shí)鐘源為 32MHZ 晶振/等待晶振穩(wěn)定/設(shè)置系統(tǒng)主時(shí)鐘頻率為 32MHZ6技術(shù)工程師:2357481431公司:ht:http:/PERCFG = 0 x00;P0SEL = 0 x0c;P2DIR &= 0XC0;/位置 1 P0 口/P0 用作串口/P0 優(yōu)先作為 UART0U0CSR |= 0 x80;U0GCR |= 8;U0BAUD |= 59;UTX0IF = 1;/串口設(shè)置為 UART 方式/波特率設(shè)為 9600/UART0 TX
12、中斷標(biāo)志初始置位 1U0CSR |= 0X40;IEN0 |= 0 x84;/允許接收/開(kāi)總中斷,接收中斷/*主函數(shù)*/ void main(void)P1DIR = 0 x03;P0DIR = 0X10; LED1 = 1;LED2 = 1;LED3 = 1;initUART0();/P1 控制 LED/關(guān) LEDstringlen = strlen(char *)Recdata);UartTX_Send_String(Recdata,stringlen); while(1)if(RXTXflag = 1)/接收狀態(tài)7技術(shù)工程師:2357481431公司:ht:http:/if( temp
13、!= 0)LED2 = 0;/接收狀態(tài)指示if(temp!=#)&(datanumber50)/被定義為結(jié)束字符,最多能接收 50 個(gè)字符Recdatadatanumber+ = temp;elseRXTXflag = 3;/進(jìn)入發(fā)送狀態(tài)if(datanumber = 50)RXTXflag = 3;temp = 0;if(RXTXflag = 3)UartTX_Send_String(send:,5);/發(fā)送狀態(tài)LED1 = 0;/發(fā)送狀態(tài)指示U0CSR &= 0 x40;/不能收數(shù)UartTX_Send_String(Recdata,datanumber);UartTX_Send_Stri
14、ng(rn,2);U0CSR |= 0 x40;/允許接收RXTXflag = 1;/恢復(fù)到接收狀態(tài)8技術(shù)工程師:2357481431公司:ht:http:/datanumber = 0;LED1 = 1;LED2 = 1;/指針歸 0/關(guān)發(fā)送指示memset(Recdata, 0, sizeof(Recdata);/*串口接收一個(gè)字符:一旦有數(shù)據(jù)從串口傳至 CC2530,則進(jìn)入中斷,將接收到的數(shù)據(jù)賦值給變量 temp.*/ #pragma vector = URX0_VECTOR errupt void UART0_ISR(void)URX0IF = 0;temp = U0DBUF;/清中斷標(biāo)志6、實(shí)驗(yàn)現(xiàn)象COM4 是如圖:USB 轉(zhuǎn)串口在電腦上生成的,查看方法“電腦”“設(shè)備管理器
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 北京出境合同范例
- 辦理抵押賒銷合同范例
- 2025年度新型金融產(chǎn)品合同擔(dān)保期限規(guī)定及風(fēng)險(xiǎn)管理細(xì)則
- 2025年度區(qū)塊鏈技術(shù)應(yīng)用合同-@-1
- 年產(chǎn)10萬(wàn)噸調(diào)味料建設(shè)項(xiàng)目可行性研究報(bào)告建議書
- 醫(yī)療物資購(gòu)銷合同范例
- 農(nóng)民承包煤礦合同范本
- 儀器維保服務(wù)合同范例
- 代理全轉(zhuǎn)讓合同范例
- 公租房贈(zèng)與合同范例
- 2024年6月第3套英語(yǔ)六級(jí)真題
- 2024年江蘇省公務(wù)員錄用考試《行測(cè)》題(A類)
- 2024年10月時(shí)政100題(附答案)
- 江蘇省無(wú)錫市2024年中考數(shù)學(xué)試卷(含答案)
- 2024年保密知識(shí)測(cè)試試題及答案(奪冠)
- 矯形器裝配工(四級(jí))職業(yè)技能鑒定考試題庫(kù)(含答案)
- 北師大版八年級(jí)下冊(cè)因式分解(分組分解法)100題及答案
- 湖南2024年湖南省衛(wèi)生健康委直屬事業(yè)單位招聘276人筆試歷年典型考題及考點(diǎn)附答案解析
- SF-36生活質(zhì)量調(diào)查表(SF-36-含評(píng)分細(xì)則)
- 2023年陜西西安亮麗電力集團(tuán)有限責(zé)任公司招聘考試真題
- 不需公證的遺囑范文
評(píng)論
0/150
提交評(píng)論