


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、9.串口通訊-字符串1實驗?zāi)康?) 通過實驗掌握 CC2530串口配置與使用2) 觀察 D2 串口指示燈的變化,每一串字符閃一次注:開發(fā)中,當(dāng)程序能跑起來后,串口是第一個要跑起來的設(shè)備,所有的工作狀態(tài),交互信息都會從串口輸出。我們用的是世界上最好的串口。FT232,高級 USB 串口線都用該2實驗設(shè)備硬件:PC 機(jī)一臺、ZB2530(底板、板、器、USB 線) 一套軟件:2000/XP/win7 系統(tǒng),IAR 8.10 集成開發(fā)環(huán)境、串口助手3相關(guān)電路圖注:圖中 0R 的電阻是空貼的哦P0_2、P0_3 配置為外設(shè)功能時:P0_2 為 RX, P0_3 為 TX. USART0 和 USART
2、1 是串行通口,它們能夠分別運行于異步 UART 模式或者同步 SPI 模式。兩個 USART 具有同樣的功能, 可以設(shè)置在單獨的 I/O 引腳。此種串口設(shè)計是沒有流控功能的。4相關(guān)寄存器相關(guān)寄存器 UxCSR、UxCSR、UxGCR、UxBUF、UxBAUD、CLKCONCMD、CLKCONSTA 如寄存器位描述U0CSR (0x86) -USART0和狀態(tài)Bit7 MODEUSART 模式選擇0:SPI 模式1:UART 模式Bit6 REUART使能0: 禁用1:使能Bit5 SLAVESPI 主或者從模式選擇0: SPI 主模式1: SPI 從模式Bit4 FEUART 幀錯誤狀態(tài)0:
3、 無幀錯誤檢測1: 字節(jié)收到不正確停止位級別Bit3 ERRUART 奇偶錯誤狀態(tài)0: 無奇偶錯誤檢測1: 字節(jié)收到奇偶錯誤Bit2 RX_BYTE接收字節(jié)狀態(tài) 0: 沒有收到字節(jié)1: 準(zhǔn)備好接收字節(jié)Bit1 TX_BYTE傳送字節(jié)狀態(tài)0 字節(jié)沒有被傳送1 寫到數(shù)據(jù)緩存寄存器的最后字節(jié)被傳送Bit0 ACTIVEUSART 傳送/接收主動狀態(tài)、在 SPI 從模式下該位等于從模式選擇0: USART 空閑1: 在傳送或者接收模式 USART 忙碌Bit7 CPOLSPI 的時鐘極性0: 負(fù)時鐘極性1: 正時鐘極性Bit6 CPHASPI 時鐘相位0: 當(dāng) SCK 從 CPOL 倒置到 CPOL
4、時數(shù)據(jù)輸出U0GCR (0xC5)USART0 通用到 MOSI, 并且當(dāng) SCK 從 CPOL 倒置到CPOL 時數(shù)據(jù)輸入抽樣到 MISO。1: 當(dāng) SCK 從 CPOL 倒置到 CPOL 時數(shù)據(jù)輸出到 MOSI, 并且當(dāng) SCK 從 CPOL 倒置到CPOL 時數(shù)據(jù)輸入抽樣到 MISOBit5 ORDER傳送位順序0: LSB 先傳送1: MSB 先傳送Bit4:0 BAUD_E波特率指數(shù)值。BAUD_E 和 BAUD_M 決定了UART 波特率和 SPI 的主 SCK 時鐘頻率U0BAUD (0xC2) USART 0 波特率BAUD_M7:0波特率小數(shù)部分的值。BAUD_E 和 BAU
5、D_M 決定了 UART 的波特率和 SPI 的主 SCK 時鐘頻率U0DBUFUSART 0 接收/數(shù)據(jù)緩存UTX0IF(中斷標(biāo)志)IRCON2 Bit1USART 0 TX 中斷標(biāo)志0: 無中斷未決1: 中斷未決CLKCONCMD時鐘命令Bit7 OSC32K32 kHz 時鐘振蕩器選擇0 : 32 kHz XOSC 1 : 32 kHz RCOSCBit6 OSC系統(tǒng)時鐘源選擇0 : 32 MHz XOSC1 : 16 MHz RCOSCBit5:3 TICKSPD定時器標(biāo)記輸出設(shè)置000 :32 MHz 001 :16 MHz 010 :8MHz 011 :4 MHz 100 :2 M
6、Hz 101 :1MHz110 :500 kHz 111 :250 kHzBit2:0 CLKSPD時鐘速度000 :32 MHz 001 :16 MHz 010 :8MHz011 :4 MHz 100 :2 MHz 101 :1 MHz110 :500 kHz 111 :250 kHzCLKCONSTACLKCONSTA 寄存器是一個只讀寄存器,用來由寄存器UxBAUD.BAUD_M7:0和UxGCR.BAUD_E4:0定義波特率。該波特率用于UART 傳送,也用于SPI 傳送的串行時鐘速率。波特率由下式給出:F 是系統(tǒng)時鐘頻率,等于 16 MHz RCOSC 或者 32 MHz XOSC。
7、32 MHz 系統(tǒng)時鐘常用的波特率設(shè)置CC2530 配置串口的一般步驟:1、配置 IO,使用外部設(shè)備功能。此處配置 P0_2 和 P0_3 用作串口 UART02、配置相應(yīng)串口的和狀態(tài)寄存器。3、配置串口工作的波特率。5源碼分析#include <iocc2530.h>#include <string.h>#define uint unsigned int#define uchar unsigned char/定義燈的端口波特率(bps)UxBAUD.BAUD_MUxGCR.BAUD_E誤差(%)24005960.1448005970.1496005980.0.0319
8、2005990.0.033840059100.1457600216100.037680059110.110.03230400216120.03獲得當(dāng)前時鐘狀態(tài)#define LED1 P1_0 #define LED2 P1_1 #define LED3 P0_4/函數(shù)void Delay(uint);void initUARTSEND(void);void UartTX_Send_String(char *Data,int len);char Txdata25="HELLO! zigbee!rn"/* 延時函數(shù)*/void Delay(uint n)uint i; for
9、(i=0;i<n;i+); for(i=0;i<n;i+); for(i=0;i<n;i+); for(i=0;i<n;i+); for(i=0;i<n;i+);/* 串口初始化函數(shù)*/void initUARTSEND(void)CLKCONCMD &= 0x40;while(CLKCONSTA & 0x40); CLKCONCMD &= 0x47;/設(shè)置系統(tǒng)時鐘源為 32MHZ 晶振/等待晶振穩(wěn)定/設(shè)置系統(tǒng)主時鐘頻率為 32MHZPERCFG = 0x00; P0SEL = 0x0c; P2DIR &= 0XC0;U0CSR |
10、= 0x80; U0GCR |= 8;U0BAUD |= 59;/位置 1 P0 口/P0_2,P0_3 用作串口 0000 1100/P0 優(yōu)先作為 UART0/UART 方式 1000 0000/U0GCR.BAUD_E/波特率設(shè)為 9600 UxBAUD.BAUD_MUTX0IF = 0;/UART0 TX 中斷標(biāo)志初始置位 0/*串口字符串函數(shù)*/void UartTX_Send_String(uchar *Data,int len)int j; for(j=0;j<len;j+)U0DBUF = *Data+; while(UTX0IF = 0);UTX0IF = 0;/*主函數(shù)*/void main(void)uchar i;P1DIR = 0x03;initUARTSEND();/P1LEDLED1 = 1;LED3 = 1;LED2 = 0;UartTX_Send_String(Txdata,25);for(i=0;i<30;i+)Txdatai=' '/關(guān)LED/關(guān)LEDstrcpy(Txdata,"HELLO! zigbee!rn");while(1)/將UART0 TX test賦給Txdata;UartTX_Send_String(Txdata,strlen(Txdata); /串口數(shù)據(jù)Delay(50000
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 合川區(qū)初中“七校聯(lián)盟”2025年春期半期質(zhì)量檢測七年級 英語試題
- 投資基金合同履約金的管理
- 《Python程序設(shè)計基礎(chǔ)》課件 第7、8章 面向?qū)ο缶幊蹋晃募c異常
- 《Python程序設(shè)計基礎(chǔ)》課件 第5-8章 函數(shù)與模塊-文件與異常
- 鐵路工程安全技術(shù)石家莊鐵路35課件
- 《GB 18399-2001棉花加工機(jī)械安全要求》(2025版)深度解析
- ARM Cortex-M3嵌入式開發(fā)及應(yīng)用教與學(xué) 課件 第12、13章 信號量與互斥信號量;消息郵箱與消息隊列
- 大學(xué)生職業(yè)規(guī)劃大賽《英語專業(yè)》生涯發(fā)展展示
- 簡單版度個人耕地承包協(xié)議
- 農(nóng)產(chǎn)品購銷合作協(xié)議
- 滬科版初中數(shù)學(xué)目錄
- JCT862-2008 粉煤灰混凝土小型空心砌塊
- 你也走了很遠(yuǎn)的路吧
- 全國水利ABC證單選題七
- Unit 3 What would you like單元作業(yè)設(shè)計
- 竣工結(jié)算審計服務(wù)投標(biāo)方案
- 人機(jī)工程培訓(xùn)(推行團(tuán)隊版)-課件
- GB 150-1998鋼制壓力容器
- 工程聯(lián)系單(模板)
- 2023年海南省財金集團(tuán)有限公司招聘筆試模擬試題及答案解析
- 公司獎項申請表(個人)
評論
0/150
提交評論