freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于手機(jī)藍(lán)牙的遙控小車的設(shè)計(jì)與制作-文庫吧

2025-06-12 20:23 本頁面


【正文】 開發(fā)之前需要先獲得藍(lán)牙權(quán)限。 usespermissio android:name= / usespermission android:name=/ 然后是對(duì)軟件界面的開發(fā),使用的是RelativeLayout排布方法;完成圖如下UI完成圖2 STM32串口通信設(shè)計(jì) 簡(jiǎn)介通用同步異步收發(fā)器(USART)提供了一種靈活的方法與使用工業(yè)標(biāo)準(zhǔn)NRZ異步串行數(shù)據(jù)格式的外部設(shè)備之間進(jìn)行全雙工數(shù)據(jù)交換。 USART利用分?jǐn)?shù)波特率發(fā)生器提供寬范圍的波特率選擇。它支持同步單向通信和半雙工單線通信,也支持LIN(局部互連網(wǎng)),智能卡協(xié)議和IrDA(紅外數(shù)據(jù)組織)SIR ENDEC規(guī)范,以及調(diào)制解調(diào)器(CTS/RTS)操作。它還允許多處理器通信。使用多緩沖器配置的DMA方式,可以實(shí)現(xiàn)高速數(shù)據(jù)通信。 USART功能概述接口通過三個(gè)引腳與其他設(shè)備連接在一起(見圖248)。任何USART雙向通信至少需要兩個(gè)腳:接收數(shù)據(jù)輸入(RX)和發(fā)送數(shù)據(jù)輸出(TX)。RX:接收數(shù)據(jù)串行輸。通過過采樣技術(shù)來區(qū)別數(shù)據(jù)和噪音,從而恢復(fù)數(shù)據(jù)。TX:發(fā)送數(shù)據(jù)輸出。當(dāng)發(fā)送器被禁止時(shí),輸出引腳恢復(fù)到它的I/O端口配置。當(dāng)發(fā)送器被激活,并且不發(fā)送數(shù)據(jù)時(shí), TX引腳處于高電平。在單線和智能卡模式里,此I/O口被同時(shí)用于數(shù)據(jù)的發(fā)送和接收?!?總線在發(fā)送或接收前應(yīng)處于空閑狀態(tài)● 一個(gè)起始位● 一個(gè)數(shù)據(jù)字(8或9位),最低有效位在前● , , 2個(gè)的停止位,由此表明數(shù)據(jù)幀的結(jié)束● 使用分?jǐn)?shù)波特率發(fā)生器 —— 12位整數(shù)和4位小數(shù)的表示方法。● 一個(gè)狀態(tài)寄存器(USART_SR)● 數(shù)據(jù)寄存器(USART_DR)● 一個(gè)波特率寄存器(USART_BRR), 12位的整數(shù)和4位小數(shù)● 一個(gè)智能卡模式下的保護(hù)時(shí)間寄存器(USART_GTPR)在同步模式中需要下列引腳:● CK:發(fā)送器時(shí)鐘輸出。此引腳輸出用于同步傳輸?shù)?時(shí)鐘, (在Start位和Stop位上沒有時(shí)鐘脈沖,軟件可選地,可以在最后一個(gè)數(shù)據(jù)位送出一個(gè)時(shí)鐘脈沖)。數(shù)據(jù)可以在RX上同步被接收。這可以用來控制帶有移位寄存器的外部設(shè)備(例如LCD驅(qū)動(dòng)器)。時(shí)鐘相位和極性都是軟件可編程的。在智能卡模式里, CK可以為智能卡提供時(shí)鐘。在IrDA模式里需要下列引腳:● IrDA_RDI: IrDA模式下的數(shù)據(jù)輸入?!?IrDA_TDO: IrDA模式下的數(shù)據(jù)輸出。下列引腳在硬件流控模式中需要:● nCTS: 清除發(fā)送,若是高電平,在當(dāng)前數(shù)據(jù)傳輸結(jié)束時(shí)阻斷下一次的數(shù)據(jù)發(fā)送?!?nRTS: 發(fā)送請(qǐng)求,若是低電平,表明USART準(zhǔn)備好接收數(shù)據(jù) USART編程設(shè)計(jì)串口設(shè)置的一般步驟可以總結(jié)為如下幾個(gè)步驟:1) 串口時(shí)鐘使能, GPIO 時(shí)鐘使能2) 串口復(fù)位3) GPIO 端口模式設(shè)置4) 串口參數(shù)初始化5) 開啟中斷并且初始化 NVIC(如果需要開啟中斷才需要這個(gè)步驟)6) 使能串口7) 編寫中斷處理函數(shù)其中,中斷函數(shù)為本設(shè)計(jì)的關(guān)鍵,我們定義發(fā)送的指令以Q結(jié)尾,向左轉(zhuǎn)為A,向右轉(zhuǎn)為D,前進(jìn)為W,后退為S,停止位P,所以下位機(jī)的程序流程圖為: 3 系統(tǒng)調(diào)試:剛開始時(shí),藍(lán)牙APP發(fā)送的數(shù)據(jù)不對(duì),經(jīng)過檢查,發(fā)現(xiàn)回調(diào)函數(shù)不對(duì),更改后正常了。:下載好程序進(jìn)行硬件調(diào)試,在串口中斷中設(shè)置了斷點(diǎn),可發(fā)現(xiàn)當(dāng)有數(shù)據(jù)從手機(jī)中發(fā)送過來時(shí),下位機(jī)程序進(jìn)不到串口中斷中,后來發(fā)現(xiàn)原來是串口通信的TX與RX線沒有接對(duì),剛開始時(shí)是天真的以為是TX與TX相連,RX與RX相連。對(duì)調(diào)連線后,下位機(jī)程序正常了。:一切正常,但由于實(shí)驗(yàn)空間有限,車子運(yùn)行起來容易撞墻,所以后來又自己新添加了一個(gè)超聲波測(cè)距模塊,這樣便能很好的防止車子很快就被損壞。4 總結(jié)要有團(tuán)隊(duì)合作精神,這次課設(shè)能按標(biāo)準(zhǔn)完成就是團(tuán)隊(duì)合作很好的表現(xiàn)。做任何事都要細(xì)心,特別是對(duì)于編程來說,你的任何一個(gè)不注意的錯(cuò)誤可能會(huì)讓你查一天都查不出來主要參考文獻(xiàn):[1]趙全利,肖興達(dá). 單片機(jī)原理及應(yīng)用教程[M].北京: 機(jī)械工業(yè)出版,2007, 6.[2](第6版)[M].北京:電子工業(yè)出版社,2012,12.[3]金純,林金朝. 藍(lán)牙協(xié)議及其源代碼分析[M].北京: 國(guó)防工業(yè)出版社,2006, 6.[4]——用Eclipse進(jìn)行移動(dòng)開發(fā)[M].北京: 電子工業(yè)出版社,2007,2.附實(shí)物圖:附上位機(jī)串口中斷處理程序:void USART1_IRQHandler(void) //串口1中斷服務(wù)程序{u16 set_speed。u8 Rx_lenth。u8 Res。u8 get_order。ifdef OS_TICKS_PER_SEC //如果時(shí)鐘節(jié)拍數(shù)定義了,說明要使用ucosII了. OSIntEnter()。 endifif(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) //接收中斷(接收到的數(shù)據(jù)是以Q結(jié)尾的){ Res =USART_ReceiveData(USART1)。//(USART1DR)。 //讀取接收到的數(shù)據(jù) if(Res==39。Q39。) { Rx_lenth=USART_RX_STA。 if(Rx_lenth2) { get_order=USART_RX_BUF[0]。 if(get_order==39。D39。) { if(dir=1870 ) { dir+=5。 TIM_SetCompare1(TIM4,dir)。 } else。 //right } else if(get_order==39。A39。) { if(dir=1830 ) { dir=5。 TIM_SetCompare1(TIM4,dir)。 } else。 //left } else if(get_order==39。S39。) { if(speed=3099 ) { speed+=500。 if(speed0) { GPIO_ResetBits(GPIOA, GPIO_Pin_4 | GPIO_Pin_5)。 TIM_SetCompare3(TIM1,speed)。 TIM_SetCompare4(TIM1,speed)。 } else { GPIO_SetBit
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1