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

正文內(nèi)容

畢業(yè)設(shè)計(jì)-基于pic單片機(jī)的wifi控制系統(tǒng)設(shè)計(jì)-資料下載頁

2025-01-18 17:29本頁面
  

【正文】 選,設(shè)計(jì)了一種數(shù)據(jù)結(jié)構(gòu)包括命令名和處理此命令的函數(shù)指針,如下:typedef BOOL(*USER_CMD_HANDLER)( void *parameter )。/* 命令的函數(shù)類型定義 */ /* 函數(shù)參數(shù)是命令的參數(shù) */typedef struct _cmd_parse{ signed char cmd_name[10]。 /* 命令名 */ USER_CMD_HANDLER cmd_handler。 /* 執(zhí)行命令的函數(shù)指針 */}CMDPARSE。CMDPARSE cmdstruct[] = { /* 以下是系統(tǒng)預(yù)設(shè)的指令Handle函數(shù) */ { scannow, ScanNowHandler }, { playmusic, PlayMusicHandler }, {listenport, ListenPortHandler }}。 Shell軟件流程圖線程一般會(huì)阻塞在GetCmdString函數(shù)中,此函數(shù)會(huì)等待獲取一條新的指令。當(dāng)線程獲得一條指令后,執(zhí)行CmdResolve函數(shù),該函數(shù)會(huì)比對輸入的命令和cmdstruct命令數(shù)組中的預(yù)設(shè)命令進(jìn)行比對,并獲得輸入命令的index(未識別的命令會(huì)返回0xff)。CmdParse函數(shù)會(huì)根據(jù)命令index在cmdstruct數(shù)組中調(diào)用handle函數(shù)指針。 Playmusic指令handle函數(shù)設(shè)計(jì)Playmusic實(shí)現(xiàn)了音樂播放的全部功能,功能如下:1. 指定歌曲名的播放 2. 播放時(shí)的暫停 3. 停止播放 4. 音量調(diào)節(jié) 5. 播放曲目的切換 6. 簡單的文本界面播放函數(shù)實(shí)現(xiàn)了一個(gè)簡單的狀態(tài)機(jī):typedef enum _play_state{ STATE_OPEN, /* 文件打開狀態(tài),向PC端發(fā)送要打開的文件名 */ STATE_PLAYING,/* 文件播放狀態(tài),接收音頻流并播放,同時(shí)檢測有無用戶交互 */ STATE_HALT, /* 暫停播放狀態(tài),暫停音頻流接收,檢測用戶是否重新啟動(dòng)播放 */ STATE_STOP /* 播放停止?fàn)顟B(tài),播放停止后立即結(jié)束playmusic函數(shù) */}PLAY_STATE。單片機(jī)和PC機(jī)TCP連接成功后,單片機(jī)端和PC端隨即采用規(guī)定的通信格式進(jìn)行通信,通信格式如下:typedef struct __attribute__ ((packed)) net_frame{ WORD type。 WORD length。}NET_FRAME,*pNET_FRAME。以上是通信數(shù)據(jù)的幀頭,也就是說每一幀的前4個(gè)字節(jié)的數(shù)據(jù)反映了該幀的基本情況,type有兩種取值,一種是cmd,一種是data,cmd反映此幀為一命令幀,data反映此幀為一數(shù)據(jù)幀,len反映幀中實(shí)際的數(shù)據(jù)長度,取值最小值為0。 handle狀態(tài)圖 PC機(jī)端網(wǎng)絡(luò)程序PC機(jī)主動(dòng)連接單片機(jī)端,被動(dòng)的接收來自單片機(jī)端的命令并執(zhí)行。 PC機(jī)命令解析PC機(jī)連接上單片機(jī)后,等待一個(gè)網(wǎng)絡(luò)幀的到達(dá),當(dāng)收到網(wǎng)絡(luò)幀后,解析幀命令,這里只實(shí)現(xiàn)了一個(gè)幀命令,也就是playmusic幀命令,playmusic函數(shù)同樣維護(hù)一個(gè)播放狀態(tài)機(jī)。 PC端播放狀態(tài) 測試結(jié)果。 PC端測試單片機(jī)超級終端運(yùn)行測試圖, 單片機(jī)端測試 結(jié) 論課題目標(biāo)是實(shí)現(xiàn)利用PIC單片機(jī)驅(qū)動(dòng)無線網(wǎng)卡進(jìn)行WIFI聯(lián)網(wǎng)控制,通過硬件系統(tǒng)的設(shè)計(jì)和軟件程序的編寫,基本達(dá)到了預(yù)期的目標(biāo),連接無加密無線AP,TCP/IP正常通信等功能。同時(shí)給出了一個(gè)利用控制方案的實(shí)例,實(shí)例測試表明,控制方案的性能較好,工作穩(wěn)定,能夠輕松的實(shí)時(shí)傳輸高質(zhì)量的音頻數(shù)據(jù),視頻數(shù)據(jù)經(jīng)過壓縮后也能夠進(jìn)行實(shí)時(shí)傳輸。此外,方案采用了分層的軟件設(shè)計(jì)方式,同時(shí)利用了實(shí)時(shí)操作系統(tǒng),所以控制方案的軟件編程較容易,可以靈活而方便的擴(kuò)展系統(tǒng)功能。,尤其是加密部分和身份認(rèn)證部分都沒有實(shí)現(xiàn),而這兩個(gè)功能又是健全網(wǎng)絡(luò)必備的組成部分,所以加密和認(rèn)證部分的移植工作還需繼續(xù),此外系統(tǒng)的健壯性有待于進(jìn)一步的測試,軟件代碼還需要進(jìn)一步優(yōu)化。 致 謝此次畢業(yè)設(shè)計(jì)的順利完成得益于諸多老師和同學(xué)的幫助,在畢業(yè)論文完成之際,謹(jǐn)向幫助我的老師和同學(xué)致以誠摯的謝意!在選題之初我的指導(dǎo)老師安勝彪老師就給予了很多建設(shè)性的意見,畢業(yè)設(shè)計(jì)當(dāng)中遇到了不少想象不到的難題,這些問題的解決和安勝彪老師的悉心指導(dǎo)是分不開的。除了畢業(yè)設(shè)計(jì),安老師也是我進(jìn)入電子世界的領(lǐng)路人,在安老師那里我學(xué)到了很多,在這里對安老師表示衷心的感謝!在做畢業(yè)設(shè)計(jì)期間,我同樣得到了同學(xué)們的幫助,我要特別感謝李桂生,陳磊,李友凱,鄭敬魁等同學(xué),在畢業(yè)之際我也會(huì)銘記我們在一起努力的日子。最后,我要感謝我的家人,是我的父母在背后默默支持著我,我才能有今天的一切。 參考文獻(xiàn)1 Jonathan Corbet,Alessandro Rubini,Gerg,KroahHartman.:東南大學(xué)出版社,20062 李紅梅.WIFI技術(shù)在智能家居中的應(yīng)用研究.Silicon Valley,20093 Mattbew Gast. .南京:東南大學(xué)出版社,20074 Stevens.TCP/IP IIIustrated Volume 1:The Protocols.北京:機(jī)械工業(yè)出版社,20055 Javvin Press.WIFI WLAN Quick Guide.Javvin Press,2008.6 史蒂文斯. Security.北京:機(jī)械工業(yè)出版社,2007.7 Bruce Potter. Security.O39。Reilly Media,2008.8 孫鑫.VC++深入詳解.北京:電子工業(yè)出版社,2005.9 Lucio Di Jasio.32位單片機(jī)C語言編程基于PIC32.北京:人民郵電出版社,2009.10 單立平.嵌入式Linux網(wǎng)絡(luò)體系結(jié)構(gòu)設(shè)計(jì)與TCP/IP協(xié)議棧.北京:電子工業(yè)出版社,2011.11 李英偉等..北京:國防工業(yè)出版社,2007.12 張俊. 匠人手記. 北京:北京航空航天大學(xué)出版社,2008.13 Jean . 嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS2,北京:北京航空航天大學(xué)出版社,2003.14 Richard Barry. Using The FreeRTOS Real Time Kernel,USA,2007.15 李肇慶. USB接口技術(shù). 北京:國防工業(yè)出版社,2004.16 薛園園編著. USB應(yīng)用開發(fā)技術(shù)大全. 人民郵電出版社, 2007. 17 蕭世文,宋延清編著. USB . 清華大學(xué)出版社, 2006. 18 金純等編著. IEEE . 電子工業(yè)出版社, 2004.19 (美)波特,(美)弗利克著. . 清華大學(xué)出版社, . 20 武奇生主編. 網(wǎng)絡(luò)與TCP/IP協(xié)議. 西安電子科技大學(xué)出版社, . 21 任泰明編著. TCP/IP網(wǎng)絡(luò)編程. 人民郵電出版社, .22 劉向宇編著. PIC單片機(jī)C語言程序設(shè)計(jì)實(shí)例精粹. 電子工業(yè)出版社, . 23 王文林主編. MP3電路原理與維修. 國防工業(yè)出版社, .24 鄭靈翔編著. 嵌入式接口技術(shù)與Linux驅(qū)動(dòng)開發(fā). 北京航空航天大學(xué)出版社, . 25 孫天澤,袁文菊編著. 嵌入式設(shè)計(jì)及Linux驅(qū)動(dòng)開發(fā)指南 基于ARM 9處理器. 電子工業(yè)出版社, 2007. 附錄A VS1003音頻模塊電路圖: 附錄B 部分源程序:FreeRTOS主程序:include include include include include include include include include include include include include include USB/include include include include include include include arch/static BOOL InitializeSystem ( void )。static portTASK_FUNCTION( vLED1task, pvParameters )。/********************************************************************/pragma config UPLLEN = ON // USB PLL Enabledpragma config FPLLMUL = MUL_20 // PLL Multiplierpragma config UPLLIDIV = DIV_2 // USB PLL Input Dividerpragma config FPLLIDIV = DIV_2 // PLL Input Dividerpragma config FPLLODIV = DIV_1 // PLL Output Dividerpragma config FPBDIV = DIV_2 // Peripheral Clock divisorpragma config FWDTEN = OFF // Watchdog Timerpragma config WDTPS = PS1 // Watchdog Timer Postscalepragma config FCKSM = CSDCMD // Clock Switching amp。 Fail Safe Clock Monitorpragma config OSCIOFNC = OFF // CLKO Enablepragma config POSCMOD = XT // Primary Oscillatorpragma config IESO = ON // Internal/External Switchoverpragma config FSOSCEN = OFF // Secondary Oscillator Enable (KLO was off)pragma config FNOSC = PRIPLL // Oscillator Selectionpragma config CP = OFF // Code Protectpragma config BWP = OFF // Boot Flash Write Protectpragma config PWP = OFF // Program Flash Write Protectpragma config ICESEL = ICS_PGx2 // ICE/ICD Comm Channel SelectRT73_DEVICE RT73Device。 char dbg_buffer[100]。extern void vAltStartUSBRxTasks( unsigned portBASE_TYPE uxPriority )。static BOOL InitializeSystem ( void ){ /* Set the system and peripheral bus speeds and enable the program cache*/ = 0。 // 禁止JTAG口 SYSTEMConfigPerformance( configCPU_CLOCK_HZ 1 )。 mOSCSetPBDIV( OSC_PB_DIV_2 )。 /* Setup to use the external interrupt controller. */ INTEnableSystemMultiVectoredInt()。 /* LED初始化 */ mInitAllLEDs()。 UART2Init()。 /* 初始化SPI */ Vs1003_Init()。 /* USB控制引腳初始化 */ LATDCLR = 0X0100。 ODCD = 0X0100。 TRISDCLR = 0X0100。 return TRUE。} // InitializeSystemint main( void ){ InitializeSystem()。 /* 創(chuàng)建USBHOST任務(wù) */ /* 這些任務(wù)在系統(tǒng)初始化時(shí)進(jìn)行創(chuàng)建,為的是防止重復(fù)創(chuàng)建任務(wù) */ /* 基本上每個(gè)task中都利用了狀態(tài)機(jī)*/ vAltStartUSBTasks( USBHOST_THREAD_PRIO )。 vAltStartLwipTasks( TCPIP_THREAD_PRIO )。 /* 創(chuàng)建用戶命令解析任務(wù) */ vAltStartCom
點(diǎn)擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1