9串口通訊發(fā)送字符串_第1頁
9串口通訊發(fā)送字符串_第2頁
9串口通訊發(fā)送字符串_第3頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論