




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
智能產(chǎn)品設(shè)計(jì)與應(yīng)用串口通信原理案例導(dǎo)入01/PART
ONE串口通信原理參數(shù)配置順序詳情寄存器名功能備注賦值1.引腳選擇及配置PERCFG外設(shè)控制寄存器(結(jié)合串口外設(shè)I/O引腳映射)串口0的引腳映射到位置1,即P0_2、P0_3PERCFG&=~0x01;P0SEL功能選擇(0:通用IO,1:外設(shè))將P0_2、P0_3設(shè)置成外設(shè)功能P0SEL|=0x0C;2.波特率設(shè)置UxGCRUSARTx通用控制寄存器BAUD_E[4:0]16MHz:932MHz:8U0GCR=8;//32MHzUxBAUDUSARTx波特率控制寄存器BAUD_M[7:0]U0BAUD=59;3.串口屬性相關(guān)的配置UxUCRUSARTxUART控制寄存器第7位,1U0UCR|=0X80;UxCSRUSARTx控制和狀態(tài)寄存器7:1:UART6:1:接收使能U0CSR|=0XC0;UxBUFUSARTx接收、發(fā)送數(shù)據(jù)緩沖器串口通信原理參數(shù)配置順序詳情寄存器名功能備注賦值4.中斷標(biāo)志位UTX0IFTX發(fā)送中斷標(biāo)志//清除TX發(fā)送中斷標(biāo)志UTX0IF=0;URX0IF/RX接收中斷標(biāo)志//清除RX接收中斷標(biāo)志URX0IF=0;5.中斷允許URX0IEURAT0的接收中斷使能URAT0的接收中斷URX0IE=1;
EA
總中斷//使能總中斷EA=1;串口通信原理波特率設(shè)置:串口比特率的設(shè)置UxGCRUxBAUD串口通信原理波特率設(shè)置:串口比特率的設(shè)置U0BAUD=59;串口通信原理波特率設(shè)置:串口比特率的設(shè)置U0GCR=8;串口通信原理串口屬性相關(guān)的配置U0UCR|=0x80;串口通信原理串口屬性相關(guān)的配置U0CSR|=0xC0;UxCSRUSARTx控制和狀態(tài)寄存器串口通信原理設(shè)計(jì)串口初始化函數(shù),設(shè)備的系統(tǒng)時(shí)鐘位32MHz,將USARTO的引腳映射為位置1,選擇UART模式,波特率為9600,UART禁止流控,禁止奇偶校驗(yàn),8位數(shù)據(jù)位,1位停止位,使能接收中斷和總中斷。[應(yīng)用范例]串口初始化函數(shù)串口初始化代碼:voidInit_Uart0(){//引腳配置
PERCFG&=~0x01;//串口0的引腳映射到位置1,即P0_2和P0_3
P0SEL|=0x0C;//將P0_2和P0_3端口設(shè)置成外設(shè)功能//波特率相關(guān)的配置
U0BAUD=59;//32MHz的系統(tǒng)時(shí)鐘產(chǎn)生9600BPS的波特率
U0GCR=8;串口通信原理[應(yīng)用范例]串口初始化函數(shù)//串口屬性相關(guān)的配置
U0UCR|=0x80;//禁止流控,8位數(shù)據(jù),清除緩沖器
U0CSR|=0xC0;//選擇UART模式,使能接收器//清除發(fā)送和接收中斷標(biāo)志位
UTX0IF=0;//清除TX發(fā)送中斷標(biāo)志
URX0IF=0;//清除RX接收中斷標(biāo)志//使能串口相關(guān)中斷控制位
URX0IE=1;//使能URAT0的接收中斷
EA=1;//使能總中斷}串口通信原理任務(wù)6.1串口數(shù)據(jù)發(fā)送USART0選擇UART模式,波特率9600,I/O引腳映射到備用位置1。設(shè)計(jì)看門狗初始化函數(shù),設(shè)置為定時(shí)器模式,定時(shí)間隔為1秒??撮T狗中斷函數(shù)中,每隔1秒,發(fā)送一次字符串"HelloWorld!\r\n”。D1燈作為數(shù)據(jù)發(fā)送指示燈,在發(fā)送字符串前點(diǎn)亮D1,字符串發(fā)送結(jié)束后熄滅D1。set_clock_32();//1.初始化時(shí)鐘InitIO();//2.初始化端口Init_WDT();//3.初始化看門狗Init_Uart0();//4.初始化串口串口通信原理set_clock_32();//1.初始化時(shí)鐘InitIO();//2.初始化端口Init_WDT();//3.初始化看門狗Init_Uart0();//4.初始化串口While(1)WDTIF=0;清除中斷標(biāo)志while(*str!='\0')Send_Byte(*str++);N看門狗中斷函數(shù)1s時(shí)間到LED1=~LED1;Send_String("HelloWorld!!!\r\n");//發(fā)送字符串函數(shù)發(fā)送字符串函數(shù)Send_String(unsignedchar*str)發(fā)送字節(jié)函數(shù)Send_Byte(unsignedchardat)U0DBUF=dat;//將數(shù)據(jù)放入發(fā)送緩沖寄存器
while(UTX0IF==0);//等待發(fā)送完成
UTX0IF=0;//發(fā)送完成后清除中斷標(biāo)志位串口通信原理set_clock_32();//1.初始化時(shí)鐘InitIO();//2.初始化端口Init_WDT();//3.初始化看門狗Init_Uart0();//4.初始化串口voidInit_Uart0(){//引腳配置PERCFG&=~0x01;
//串口0的引腳映射到位置1,即P0_2和P0_3P0SEL|=0x0C;//將P0_2和P0_3端口設(shè)置成外設(shè)功能//波特率相關(guān)的配置U0BAUD=59;//32MHz的系統(tǒng)時(shí)鐘產(chǎn)生9600BPS的波特率U0GCR=8;//串口屬性相關(guān)的配置U0UCR|=0x80;//禁止流控,8位數(shù)據(jù),清除緩沖器U0CSR|=0xC0;//選擇UART模式,使能接收器//清除發(fā)送和接收中斷標(biāo)志位UTX0IF=0;//清除TX發(fā)送中斷標(biāo)志URX0IF=0;//清除RX接收中斷標(biāo)志//使能串口相關(guān)中斷控制位URX0IE=1;//使能URAT0的接收中斷EA=1;//使能總中斷}串口通信原理關(guān)于sprintf()函數(shù)的用法sprintf(),指的是字符串格式化函數(shù),把格式化的數(shù)據(jù)寫入某個(gè)字符串中。intsprintf(char*string,char*format[,argument.,..]);引入頭文件#include"stdio.h"例:有一個(gè)表示溫度的整型變量tmp,現(xiàn)在要將其格式化為字符串。“溫度是:XX攝氏度”,并將其通過串口0發(fā)送出去。UnsignedcharStr_buff[64];sprintf((char*)Str_buff,"溫度是:%d攝氏度",tmp);Send_String(Str_buff);串口通信原理通信方式并行通信串行通信串行同步通信串行異步通信所有設(shè)備使用同一時(shí)鐘,以數(shù)據(jù)塊為單位傳送,對硬件結(jié)構(gòu)要求高。每個(gè)設(shè)備使用自己的時(shí)鐘信號,通信中雙方時(shí)鐘頻率保持一致,通信一次傳送一次。9600bps電腦串口CC2530單片機(jī)P0.2RX接收P0.3TX發(fā)送串口通信原理CC2530串口向電腦串口發(fā)送字符串信息。將開發(fā)板上按鍵次數(shù)發(fā)送給電腦串口。開發(fā)板→電腦串口當(dāng)CC2530收到電腦串口發(fā)送來的信息,修改數(shù)據(jù),發(fā)送回電腦。串口控制LED燈。電腦串口→開發(fā)板串口通信原理電腦串口CC2530單片機(jī)P0.2RX接收P0.3TX發(fā)送兩個(gè)串行通信接口USART0USART12個(gè)獨(dú)立的中斷向量對于每個(gè)USART外設(shè),有5個(gè)相關(guān)寄存器(x是USART的編號,為0或者1)發(fā)送完成中斷:URX0,USART0接收完成中斷:UTX0,USART0異步UART模式同步SPI模式串口通信原理對于每個(gè)USART,有5個(gè)如下的寄存器(x是USART的編號,為0或者1):UxCSR:控制和狀態(tài);UxUCR:UART控制;UxGCR:通用控制;UxBUF:接收/發(fā)送數(shù)據(jù)緩沖;UxBAUD:波特率控制。USART寄存器串口通信原理參數(shù)配置順序詳情寄存器名功能備注賦值1.引腳選擇及配置PERCFG外設(shè)控制寄存器(結(jié)合串口外設(shè)I/O引腳映射)串口0的引腳映射到位置1,即P0_2、P0_3PERCFG&=~0x01;P0SEL功能選擇(0:通用IO,1:外設(shè))將P0_2、P0_3設(shè)置成外設(shè)功能P0SEL|=0x0C;2.波特率設(shè)置UxGCRUSARTx通用控制寄存器BAUD_E[4:0]16MHz:932MHz:8U0GCR=8;//32MHzUxBAUDUSARTx波特率控制寄存器BAUD_M[7:0]U0BAUD=59;3.串口屬性相關(guān)的配置UxUCRUSARTxUART控制寄存器第7位,1U0UCR|=0X80;UxCSRUSARTx控制和狀態(tài)寄存器7:1:UART6:1:接收使能U0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)業(yè)生產(chǎn)安全管理與控制措施指南
- 觀光農(nóng)業(yè)規(guī)劃
- 供熱項(xiàng)目可行性研究報(bào)告
- 區(qū)塊鏈技術(shù)在數(shù)字版權(quán)保護(hù)中的應(yīng)用指南
- 基礎(chǔ)設(shè)施建設(shè)項(xiàng)目可研報(bào)告
- 云倉項(xiàng)目可行性研究報(bào)告
- 公司內(nèi)部規(guī)章制度培訓(xùn)教程
- 三基訓(xùn)練護(hù)理復(fù)習(xí)試題有答案
- 企業(yè)營銷自動(dòng)化技術(shù)應(yīng)用及效果評估報(bào)告
- 主管護(hù)師內(nèi)科護(hù)理練習(xí)測試卷(一)
- GB/T 14541-2017電廠用礦物渦輪機(jī)油維護(hù)管理導(dǎo)則
- GB 10133-2014食品安全國家標(biāo)準(zhǔn)水產(chǎn)調(diào)味品
- 講題比賽游戲中的必勝策略問題-(取棋子游戲)課件
- 旅游學(xué)概論李天元版復(fù)習(xí)總結(jié)
- 人教版八年級上歷史思維導(dǎo)圖課件
- 重慶大學(xué)介紹課件
- 江蘇省南京市2020年中考英語試題
- 《電氣裝配車間生產(chǎn)工序流程卡》中英文對譯版
- 四年級下冊英語課件:Unit 4 There are seven days in a week-Lesson 19人教精通版
- 加油站承重罐區(qū)安全風(fēng)險(xiǎn)及管理
- 拱涵計(jì)算書-6.0m-1m
評論
0/150
提交評論